¿Qué imágenes Dockerd se inicia automáticamente?

¿Qué imágenes Dockerd se inicia automáticamente?

Una vez que reinicié el servicio Docker en Ubuntu Box, service docker restartinicié algunos de los contenedores, no esperaba que se iniciara.

¿Porqué es eso? ¿Qué archivo de configuración/almacenamiento/lo que sea que contenga información sobre qué imágenes deben iniciarse?

Tengo muchas imágenes (~50) cuando las enumero con docker images. Pero sólo 8 de ellos comienzan cuando inicio el archivo dockerd. ¿Por qué? ¿Cómo cambio esto?

Gracias.

Respuesta1

Para contenedores individuales, existe una política de reinicio que puede aplicar. Eso se establece docker run --restart=...al iniciar el contenedor, o una restart: ...línea en el archivo yml de redacción. Puede cambiar la política de reinicio en un contenedor existente con:

$ docker update --restart=... ${container_name_or_id}

Para enumerar todos los contenedores y sus políticas de reinicio, puede ejecutar esto desde bash:

$ docker container ls -q | \
  xargs docker container inspect --format \
          '{{ .Name }}: {{.HostConfig.RestartPolicy.Name}}'

Elreiniciar políticaspuedes usar son:

No No reinicie automáticamente el contenedor cuando salga. Este es el valor predeterminado.

en caso de error[:max-reintentos] Reinicie solo si el contenedor sale con un estado de salida distinto de cero. Opcionalmente, limite el número de reintentos de reinicio que intenta el demonio Docker.

siempre Reinicie siempre el contenedor independientemente del estado de salida. Cuando especifica siempre, el demonio Docker intentará reiniciar el contenedor indefinidamente. El contenedor también se iniciará siempre al iniciar el demonio, independientemente del estado actual del contenedor.

a menos que se detenga Reinicie siempre el contenedor independientemente del estado de salida, pero no lo inicie al iniciar el demonio si el contenedor se ha detenido anteriormente.

Una política de reinicio alwaysdaría como resultado un reinicio inesperado del contenedor después de que el demonio acoplable se reinicie como lo está viendo, incluso si hubiera detenido el contenedor intencionalmente. Por este motivo, normalmente creo contenedores independientes con una unless-stoppedpolítica de reinicio.


Si está utilizando el modo Docker Swarm, los servicios iniciarán automáticamente un nuevo contenedor cada vez que el estado de destino no coincida con el estado actual. Para un clúster de enjambre de un solo nodo que se ve a menudo en las computadoras portátiles, esto significa que el contenedor se reiniciará cuando reinicie la ventana acoplable, pero también si simplemente detiene o elimina el contenedor en ejecución.

Detener y eliminar permanentemente un servicio:

$ docker service ls # to show the running services
$ docker service rm ${service_id_or_name}

Si un servicio está configurado con modo replicado y simplemente desea detenerlo temporalmente sin eliminar el servicio, puede actualizar las réplicas de destino a 0:

$ docker service update --replicas=0 ${service_id_or_name}

Y los servicios pueden implementarse como parte de una pila. Para eliminar toda la pila:

$ docker stack ls # to show the defined stacks
$ docker stack rm ${stack_id_or_name}

Respuesta2

Significa que algunos de sus contenedores tienen RestartPolicy configurado en siempre. Esto significa que el contenedor tiene que estar siempre arriba. Inspeccione estos contenedores en cuestión, verificando específicamente el valor de RestartPolicy.

$ docker inspect container-name

Esto suele suceder cuando se creó un contenedor con una bandera --restartsiempre

Para desactivar el inicio automático del contenedor, use el comando:

$ docker update --restart=no container-name

Otra forma de solucionar esto es establecer RestartPolicy en menos que se detenga al iniciar el contenedor. Puedes leer la documentación completa deactualización de la ventana acoplable

Respuesta3

Busque la política de reinicio de Docker, como --restart always. Supongo que algunos de sus contenedores lo están usando. Verifique el script de inicio de su servicio para Docker. Puedes utilizar docker ps -a --no-truncpara ver la lista completa.

Respuesta4

Las imágenes no se inician automáticamente, los contenedores sí.

En service docker restartcontenedores que dondeinterrumpidoocomenzócon --restart alwaysbandera se iniciará de nuevo automáticamente al reiniciar. Compruébalos a través de docker ps -a.

Si no desea que se inicie un contenedor (incluso uno con --restart alwaysbandera), simplemente debe eliminarlo docker rm containero docker-compose down.

información relacionada