General

Docker: no reiniciar contenedores automáticamente

Photo by Anas Alshanti

Durante algunos meses fui trabajando en distintos proyectos en los que utilicé Docker Compose y en absolutamente todos cometí el mismo "error" (lo pongo entre comillas porque es una opción válida y seguramente en algunos casos de uso es la opción indicada, pero no en mi situación particular).

La situación fue que en todos los archivos de configuración docker-compose.yml, dejé la opción restart: always. Por ejemplo:

version: '3.1'

services:
  wordpress:
    image: wordpress:5.7
    restart: always
    ports:
      - 8000:80

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser

El primer paso era cambiar restart: always por restart: "no" en cada proyecto (nótese que always no lleva comillas, mientras que "no" sí las lleva). Esto servirá para cuando se reconstruyan esos contenedores, pero para los que ya están creados, es necesario ejecutar otro comando:

docker update --restart=no contenedor_1 contenedor_2

Donde contenedor_1 y contenedor_2 son los nombres de los contenedores en los que deseo cambiar esta política de reinicio o "restart policy".