Docker Fudamentals

Preview:

Citation preview

Marcello VetroIngegnere InformaticoRicerca e Sviluppo Olomedia SRLvetro@olomedia.it

Fundamentals

Swarm

C.I. with Docker

EngineDockerfile

RegistryNetwork

Compose Machine

O.S. fordocker

Git & DockerDocker Best Practice

Hub

Docker Engine,Image & Container

Layer, NAT, volume

kernel 3.10

Docker Basics Concepts▷Docker Engine: Daemon & Client

▷Start a container: Docker Run▷Share Volumes▷Expose Ports

Docker Basics Commands

Make an Image: Docker File

Command to build the image:$ docker build .

Image Static Layers

Container writable layer

Running Command

$ docker-compose up -d

Docker ComposeCreate multi-container Applications

docker-compose.ymldockerfile

Network

Far comunicare i Container

Funzione rilasciata in Docker 1.9.0 (2015-11-03)kernel 3.16

Network vs LinksLinks Environment Variables

Localhost

Deploy Git & DockerClone and Play

webdevops/php-docker-boilerplate

Dockerized PHP boilerplate

Docker & CI

Jenkins

https://jenkins-ci.org/content/jenkins-and-docker

Continuous Integration

“Nell’era moderna, il software viene fornito sempre più di frequente come

servizio: si parla di web app o software as a service (SaaS).

La twelve-factor app è una metodologia di sviluppo orientata alla costruzione di

applicazioni software-as-a-service

“I. Codebase

Una sola codebase sotto controllo di versione, tanti deploy

II. Dipendenze

Dipendenze dichiarate ed isolate

III. Configurazione

Memorizza le informazioni di configurazione nell’ambiente

IV. Backing Service

Tratta i backing service come “risorse”

V. Build, release, esecuzione

Separare in modo netto lo stadio di build dall’esecuzione

VI. Processi

Esegui l’applicazione come uno o più processi stateless

VII. Binding delle Porte

Esporta i servizi tramite binding delle porte

VIII. Concorrenza

Scalare attraverso il process model

IX. Rilasciabilità

Massimizzare la robustezza con avvii veloci e chiusure non brusche

X. Parità tra Sviluppo e Produzione

Mantieni lo sviluppo, staging e produzione simili il più possibile

XI. Log

Tratta i log come stream di eventi

XII. Processi di Amministrazione

Esegui i task di amministrazione come processi una tantum

http://12factor.net/it/

“12factor PHP Application Template for Yii 2.0 http://phundament.com

▷Dockerized LEMP environment▷Compose for Staging, Production, C.I

▷Yii2 template▷Dockerized Codeception, Selenium Test

http://docs.phundament.com/4.0/guide-README.html

Docker ToolboxWin & Mac Docker Environment

Machine

Machine

ComposeVirtualBox

Kitematic

https://www.docker.com/docker-toolbox

Docker Swarm:Native Docker Clusering

https://docs.docker.com/swarm/

Docker Swarm▷Consente la creazione di un Cluster i

Container Docker▷Consente l’utilizzo di Host di differenti Data

center, con diversi S.O. e configurazioni hardware in un unica “ship”

▷Consente di effettuare il deploy di immagini tra Docker Cluster con pochi comandi sul nodo master

▷Consente l’utilizzo di servizi Cloud quali Amazon AWS, Google Cloud

“Minimalistic O.S. for Docker

“O.S. comparition

Grazie per l’attenzione!Domande?Marcello Vetrovetro@olomedia.it

Recommended