El demonio Docker se cuelga: ¿falta el archivo de estado del contenedor?

El demonio Docker se cuelga: ¿falta el archivo de estado del contenedor?

Estoy ejecutando Docker 1.12.6 en AWS Linux.

Todos dockerlos comandos se bloquean.

La instancia de AWS falló esta mañana (aún no sé por qué). El reinicio no funcionó, así que detuve e inicié la instancia. Cuando veo /var/log/dockerme sale:

time="2017-01-16T10:46:18.829402768Z" level=info msg="libcontainerd: new containerd process, pid: 21697" 
time="2017-01-16T10:46:18.833508272Z" level=fatal msg="open /var/run/docker/libcontainerd/containerd/054f92393f757e0418b014ed1fa35673fbce2293de43e42153f4e10ec4910c77/state.json: no such file or directory"

El directorio contenedor existe, pero solo contiene un initdirectorio vacío. Una búsqueda aleatoria en los otros contenedores muestra lo mismo.

Supongo que el archivo que falta está provocando el bloqueo. ¿Cómo me recupero?

Editar:

Terminé eliminando y luego reinstalando, recibí el mensaje:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Se inició el servicio Docker, ahora se bloquea nuevamente.

Respuesta1

Yo resolví el mío por

  1. parada de la ventana acoplable de servicio
  2. Vaya a /var/run/docker y elimine cualquier directorio relacionado con la identificación del contenedor
  3. Vaya a /var/lib/docker y elimine cualquier directorio relacionado con la identificación del contenedor
  4. inicio de la ventana acoplable del servicio

Respuesta2

La respuesta de @Moreno funcionó para mí con un pequeño giro:

  • detener el demonio acoplable ( sudo service docker stop)

  • Elimina las carpetas en containerd (por si acaso, también eliminamos las carpetas con el mismo nombre directamente en libconteinerd (/var/run/docker/libcontainerd/containerd)

  • iniciar el demonio acoplable

Respuesta3

Me encontré con el mismo problema. Después de dedicar una buena cantidad de tiempo a esto, tuve que volver a AMI más antiguas que funcionan hasta que pueda encontrar una solución para esto. El último agente de ECS (1.13.1) se lanzó hace un par de días. Me pregunto si este podría ser nuestro problema.

Descripción general:

  • Docker 1.12.6
  • ECS Agent 1.13.1

Al iniciar la instancia, todos dockerlos comandos se bloquean. La comprobación /var/log/dockermuestra:

level=info msg="libcontainerd: new containerd process, pid: 21687" 
level=fatal msg="open /var/run/docker/libcontainerd/containerd/{{CONTAINER_HASH}}/state.json: no such file or directory"

El mismo problema contiene un directorio libcontainerdvacío (¡no se ve!)initstate.json

Respuesta4

Te encuentras con el mismo problema. La instancia falló (motivo desconocido). Agente Docker y ECS. Reinstalar Docker no ayudó.

Lo que funcionó para nosotros:

  • Mata a Docker manualmente (mata a pid)
  • Elimina las carpetas en containerd (por si acaso, también eliminamos las carpetas con el mismo nombre directamente en libconteinerd (/var/run/docker/libcontainerd/containerd)
  • Reiniciar la ventana acoplable
  • Iniciar ecs

Visto aquí: https://github.com/docker/docker/issues/30984

Sistema en funcionamiento nuevamente.

información relacionada