docker fudamentals

22
Marcello Vetro Ingegnere Informatico Ricerca e Sviluppo Olomedia SRL [email protected] Fundamentals

Upload: mvetro

Post on 15-Apr-2017

434 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Docker Fudamentals

Marcello VetroIngegnere InformaticoRicerca e Sviluppo Olomedia [email protected]

Fundamentals

Page 2: Docker Fudamentals

Swarm

C.I. with Docker

EngineDockerfile

RegistryNetwork

Compose Machine

O.S. fordocker

Git & DockerDocker Best Practice

Hub

Page 3: Docker Fudamentals

Docker Engine,Image & Container

Layer, NAT, volume

kernel 3.10

Page 4: Docker Fudamentals

Docker Basics Concepts▷Docker Engine: Daemon & Client

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

Page 5: Docker Fudamentals

Docker Basics Commands

Page 6: Docker Fudamentals

Make an Image: Docker File

Command to build the image:$ docker build .

Image Static Layers

Container writable layer

Running Command

Page 7: Docker Fudamentals

$ docker-compose up -d

Docker ComposeCreate multi-container Applications

docker-compose.ymldockerfile

Page 8: Docker Fudamentals

Network

Far comunicare i Container

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

Page 9: Docker Fudamentals

Network vs LinksLinks Environment Variables

Localhost

Page 10: Docker Fudamentals

Deploy Git & DockerClone and Play

Page 11: Docker Fudamentals

webdevops/php-docker-boilerplate

Dockerized PHP boilerplate

Page 12: Docker Fudamentals

Docker & CI

Jenkins

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

Page 13: Docker Fudamentals

Continuous Integration

Page 14: Docker Fudamentals

“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

Page 15: Docker Fudamentals

“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/

Page 16: Docker Fudamentals

“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

Page 17: Docker Fudamentals

Docker ToolboxWin & Mac Docker Environment

Machine

Machine

ComposeVirtualBox

Kitematic

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

Page 18: Docker Fudamentals

Docker Swarm:Native Docker Clusering

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

Page 19: Docker Fudamentals

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

Page 20: Docker Fudamentals

“Minimalistic O.S. for Docker

Page 21: Docker Fudamentals

“O.S. comparition

Page 22: Docker Fudamentals

Grazie per l’attenzione!Domande?Marcello [email protected]