GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come aggiornare automaticamente i contenitori Docker in esecuzione

Torre di avvistamento è un'applicazione open source gratuita che consente di monitorare i contenitori Docker in esecuzione e di aggiornarli automaticamente quando rileva eventuali modifiche nelle loro immagini di base. Quando watchtower rileva che un container in esecuzione deve essere aggiornato, interromperà con garbo il container in esecuzione inviandogli un segnale SIGTERM. Quindi scaricherà la nuova immagine e infine riavvierà il contenitore con le stesse opzioni utilizzate al momento della distribuzione iniziale. Tutto avverrà automaticamente in background, quindi non è necessario l'intervento dell'utente. In questa guida vedremo come aggiornare automaticamente i container Docker in esecuzione utilizzando Watchtower in sistemi operativi simili a Unix.

Ho testato questa guida in CentOS 7 edizione minima, tuttavia la procedura è la stessa per tutte le distribuzioni Linux.

Watchtower - Aggiorna automaticamente i contenitori Docker in esecuzione

Installa Watchtower

La stessa Watchtower è disponibile come immagine Docker. Quindi, implementarlo non è un grosso problema. Installa Docker sulla tua macchina Linux e inizia a eseguire Watchtower per monitorare i container Docker in pochissimo tempo.

Fare riferimento alle seguenti guide per installare Docker su sistemi basati su YUM e DEB.

  • Come installare Docker in CentOS
  • Come installare Docker in Ubuntu

Una volta installato Docker, puoi distribuire il contenitore Watchtower utilizzando il seguente comando come root utente:

# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower

Questo comando estrarrà l'ultima immagine della torre di guardia e avvierà il contenitore della torre di guardia.

Risultato di esempio:

Unable to find image 'v2tec/watchtower:latest' locally
latest: Pulling from v2tec/watchtower
a3ed95caeb02: Pull complete 
802d894958a2: Pull complete 
9916c27d2815: Pull complete 
Digest: sha256:d89ea18b6332cc83639771fda274ebfd76f7042856d8f4997e99c7925ad02ae9
Status: Downloaded newer image for v2tec/watchtower:latest
e85c923f2e4dd22a62c12b038ea9694ba9245dcd835f210e1a1f902ee311e004
Download consigliato - eBook gratuito:"Docker Containerization Cookbook"

Utilizzo

Watchtower è ora avviato con altri container in esecuzione sul tuo sistema. Puoi visualizzare l'elenco dei contenitori Docker in esecuzione utilizzando il comando:

# docker ps

Risultato di esempio:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e85c923f2e4d v2tec/watchtower "/watchtower" 3 minutes ago Up 3 minutes watchtower
58543e6ed18a centos:latest "/bin/bash" 5 minutes ago Up 5 minutes ostechnix

Come puoi vedere nell'output sopra, il contenitore Watchtower è in esecuzione insieme a un altro contenitore chiamato "otechnix". D'ora in poi, Watchtower inizierà a guardare questo container ogni pochi minuti. Se rileva eventuali modifiche nell'immagine di base di questo contenitore, spegnerà con grazia il contenitore "otechnix" e lo riavvierà con una nuova immagine con le stesse opzioni utilizzate all'avvio iniziale. Allo stesso modo, controllerà automaticamente gli aggiornamenti per tutti i contenitori in esecuzione ogni pochi minuti e li aggiornerà automaticamente.

Per impostazione predefinita, Watchtower monitorerà tutti i container Docker in esecuzione all'interno del demone Docker a cui è puntato. Tuttavia, puoi limitare la torre di controllo al monitoraggio di un particolare container Docker specificando il nome del container come mostrato di seguito.

# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower ostechnix

Nell'esempio precedente, watchtower monitorerà solo il contenitore denominato "otechnix" per gli aggiornamenti e gli altri contenitori in esecuzione verranno ignorati. Se non specifichi alcun argomento, watchtower monitorerà tutti i Docker Container in esecuzione come al solito.

Lettura consigliata:

  • Introduzione a Docker
  • ctop – Uno strumento di monitoraggio della riga di comando per i container Linux
  • Dockly - Gestisci i container Docker dal terminale
  • Portainer:il modo più semplice per gestire Docker
  • PiCluster:una semplice applicazione di gestione Docker basata sul Web

Watchtower è abbastanza intelligente quando si tratta di monitorare più container collegati. Supponiamo che tu stia eseguendo due contenitori denominati "Nginx" e "wordpress" che è collegato al contenitore "Nginx". Se Watchtower trova un aggiornamento per il contenitore "Nginx", prima chiuderà il contenitore collegato, ad esempio "wordpress", quindi arresterà il contenitore Nginx. Quindi, riavvierà entrambi i contenitori nell'ordine corretto, in modo che l'applicazione torni correttamente. Nel nostro caso, verrà avviato per primo il contenitore Nginx, seguito dal contenitore wordpress per garantire che il collegamento continui a funzionare. Per maggiori dettagli, fare riferimento al collegamento alla pagina Watchtower GitHub fornito alla fine di questa guida.

E questo è tutto. Se trovi utili le nostre guide, condividile sui tuoi social network professionali e supporta OSTechNix. Altre cose buone in arrivo. Resta sintonizzato!

Ciao!


Docker
  1. Come usare Docker Compose

  2. Come collegare i contenitori Docker

  3. Come passare le variabili d'ambiente ai container Docker

  4. Come elencare i contenitori Docker

  5. Come rimuovere tutti i contenitori Docker

Come eseguire i contenitori Docker

Come rimuovere i contenitori Docker

Come fermare i container Docker

Come rinominare o rinominare i contenitori Docker

Come gestire i container Docker

Come configurare gli spazi dei nomi di rete nei contenitori Docker