Come deployare con Docker

Docker è una piattaforma che tramite un sistema di virtualizzazione permette di eseguire programmi in pacchetti chiamati container.

I container sono isolati l’uno dall’altro e includono tutte le risorse software, compreso il sistema operativo, e dunque permettono l’esecuzione dell’applicazione.

Deploy Docker: eseguire il deploy di un’applicazione con Docker usando Docker Image

Per eseguire il deploy di un’applicazione con Docker, è necessario prima di tutto avere a disposizione un’immagine.

L’immagine, o Docker image, è un artefatto di sola lettura che contiene un set di istruzioni per la creazione di un container che può essere eseguito sulla piattaforma Docker. L’immagine fornisce un metodo particolarmente comodo per creare pacchetti di applicazioni e ambienti server preconfigurati.

La Docker image, può essere creata mediante un Dockerfile e con il comando docker build.

Deploy Docker

Possiamo trovare l’immagine appena creata nella lista delle immagini con il comando docker image ls.

Per fare il deploy dell’applicazione sarà  necessario avere a disposizione un’istanza di Ubuntu Server con Docker installato. Questa instanza può trovarsi su una virtual machine locale o remota, oppure può trovarsi su una macchina fisica dedicata.

Considera che la macchina virtuale dove verrà  eseguito il deploy dovrà  avere accesso all’immagine creata. Per fare questo si dovrà  copiare l’immagine su un docker registry accessibile via internet. Ci sono molti servizi, tra cui Docker Hub, Amazon ECR o Google Container Registry.

Inoltre, avremo bisogno di creare un account per ottenere la URL del registry e l’abilitazione per poter caricare immagini Docker. A questo punto si potrà  caricare l’immagine mediante il comando docker push:

Deploy Docker

Una volta fatto ciò, accedendo alla macchina con Ubuntu Docker, dobbiamo prendere l’immagine dal registry:

Deploy Docker

Appena abbiamo ottenuto l’immagine possiamo lanciare un container con il comando docker run:

Deploy Docker


Deploy Docker: eseguire i comandi all’interno del container

L’attributo -p permette di fare il mapping della porta 80 in modo che sia accessibile dall’esterno. Adesso, lanciando il comando docker ps dovresti vedere il container appena lanciato nella lista.

Per eseguire comandi all’interno del container in esecuzione è possibile eseguire il comando docker exec . Lanciando il comando bash o sh avrai modo di utilizzare la shell all’interno del container, in questo modo:


Scalare più container dinamicamente: i tools di container orchestration

Questo è il metodo più semplice per eseguire il deploy di un container Docker. Che succede se vogliamo eseguire più container e farli interagire tra loro? E se vogliamo scalare il numero di container dinamicamente?

Per fare questo abbiamo bisogno di un tool di container orchestration. Ce ne sono molti, come Docker Swarm, Kubernetes o Amazon ECS, argomenti che tratteremo nei prossimi articoli in maniera approfondita.

Speriamo che questa mini guida possa averti aiutato e soprattutto che ti abbia fatto comprendere come creare un’immagine ed eseguire il deploy di un container.

Docker è oggi un tool imprescindibile per chi si occupa di sviluppo web e di programmazione lato server.

Docker consente infatti di distribuire il codice in maniera più rapida ed è un tool che ci dà  una concreta opportunità  di rendere omogeneo il funzionamento delle applicazioni ottimizzando il trasferimento del codice.

Share: Facebook Twitter Linkedin

Comments