GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo actualizar automáticamente los contenedores Docker en ejecución

Atalaya es una aplicación gratuita de código abierto que le permite monitorear los contenedores Docker en ejecución y los actualiza automáticamente cuando encuentra algún cambio en sus imágenes base. Cuando Watchtower descubre que un contenedor en ejecución debe actualizarse, lo detendrá con gracia enviándole una señal SIGTERM. Luego descargará la nueva imagen y finalmente reiniciará el Contenedor con las mismas opciones que se usaron cuando se implementó inicialmente. Todo se hará automáticamente en segundo plano, por lo que no se requiere la intervención del usuario. En esta guía, veremos cómo actualizar automáticamente los contenedores Docker en ejecución usando Watchtower en sistemas operativos similares a Unix.

Probé esta guía en la edición mínima de CentOS 7, sin embargo, el procedimiento es el mismo para todas las distribuciones de Linux.

Watchtower - Actualización automática de contenedores Docker en ejecución

Instalar Atalaya

Watchtower en sí está disponible como imagen de Docker. Entonces, implementarlo no es un gran problema. Instale Docker en su caja de Linux y comience a ejecutar Watchtower para monitorear los contenedores de Docker en poco tiempo.

Consulte las siguientes guías para instalar Docker en sistemas basados ​​en YUM y DEB.

  • Cómo instalar Docker en CentOS
  • Cómo instalar Docker en Ubuntu

Una vez instalado Docker, puede implementar el contenedor Watchtower usando el siguiente comando como root usuario:

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

Este comando extraerá la imagen más reciente de la torre de vigilancia e iniciará el contenedor de la torre de vigilancia.

Salida de muestra:

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
Descarga recomendada - Libro electrónico gratuito:"Libro de recetas de contenedorización de Docker"

Uso

Watchtower ahora ha comenzado con otros contenedores en ejecución en su sistema. Puede ver la lista de contenedores Docker en ejecución usando el comando:

# docker ps

Salida de muestra:

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

Como puede ver en el resultado anterior, el contenedor Watchtower se ejecuta junto con otro contenedor llamado "ostechnix". A partir de ahora, Watchtower comenzará a observar este contenedor cada pocos minutos. Si encuentra algún cambio en la imagen base de este contenedor, cerrará correctamente el contenedor "ostechnix" y lo reiniciará con una nueva imagen con las mismas opciones que se usaron cuando se inició inicialmente. Del mismo modo, buscará automáticamente actualizaciones para todos los contenedores en ejecución cada pocos minutos y las actualizará automáticamente.

De forma predeterminada, Watchtower supervisará todos los contenedores de Docker que se ejecutan dentro del demonio de Docker al que apunta. Sin embargo, puede limitar Watchtower para monitorear un contenedor Docker en particular especificando el nombre del contenedor como se muestra a continuación.

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

En el ejemplo anterior, Watchtower solo monitoreará el contenedor llamado "ostechnix" en busca de actualizaciones, y se ignorarán otros contenedores en ejecución. Si no especifica ningún argumento, Watchtower supervisará todos los contenedores Docker en ejecución como de costumbre.

Lectura recomendada:

  • Primeros pasos con Docker
  • ctop:una herramienta de supervisión de línea de comandos para contenedores de Linux
  • Dockly - Administrar contenedores Docker desde la terminal
  • Portainer:la forma más sencilla de administrar Docker
  • PiCluster:una sencilla aplicación de gestión de Docker basada en web

Watchtower es lo suficientemente inteligente cuando se trata de monitorear múltiples contenedores vinculados. Digamos que está ejecutando dos contenedores llamados "Nginx" y un contenedor "wordpress" que está vinculado al contenedor "Nginx". Si Watchtower encuentra una actualización para el contenedor "Nginx", primero cerrará el contenedor vinculado, es decir, "wordpress", y luego detendrá el contenedor Nginx. Luego, reiniciará ambos contenedores en el orden correcto, para que la aplicación vuelva a funcionar correctamente. En nuestro caso, el contenedor de Nginx se iniciará primero, seguido del contenedor de wordpress para garantizar que el enlace continúe funcionando. Para obtener más detalles, consulte el enlace de la página GitHub de Watchtower que se proporciona al final de esta guía.

Y eso es todo. Si encuentra útiles nuestras guías, compártalas en sus redes sociales y profesionales y apoye a OSTechNix. Más cosas buenas por venir. ¡Estén atentos!

¡Salud!


Docker
  1. Cómo mantener los contenedores Docker funcionando cuando el daemon se detiene

  2. Cómo pasar variables de entorno a contenedores Docker

  3. Cómo ejecutar un comando en un contenedor Docker en ejecución

  4. Cómo listar contenedores Docker

  5. Cómo eliminar todos los contenedores de Docker

Cómo ejecutar contenedores Docker

Cómo eliminar contenedores Docker

Cómo detener los contenedores de Docker

Cómo nombrar o renombrar contenedores Docker

Cómo gestionar contenedores Docker

Cómo configurar espacios de nombres de red en contenedores Docker