Apagar todos los contenedores acoplables

Apagar todos los contenedores acoplables

Acabo de descubrir que service docker stopen Ubuntu 18.04 no cierra todos los contenedores en ejecución. Ya no puedo controlarlos, pero los containerd-shipprocesos y todo lo que está dentro de los contenedores todavía se están ejecutando (pero no son accesibles, tal vez porque se eliminó la red).

Además, detener el contenedor no cambia nada porque, por diseño, esto no detiene los contenedores.

E incluso después de killall containerd-shimque ya es bastante duro, algunos procesos todavía se están ejecutando, como gunicorndesde gitlab, backuppc y una instancia UML de Linux.

¿Cómo hago un cierre limpio de todos los contenedores en ejecución? El comportamiento actual es responsable de que mi sistema se cuelgue mientras se apaga.

Actualizar: Acabo de ver que estoy usando el repositorio (https://download.docker.com/linux/ubuntu) que proviene de un tutorial de Kubernetes (que aún no uso). Esta fuente trae versiones propietarias de containerd.io, docker-ce y docker-ce-cli.

Respuesta1

Problema resuelto.

El punto principal era que tenía un repositorio adicional, directamente desde Docker (https://download.docker.com/linux/ubuntu) que trajo versiones propietarias de containerd.io, docker-ce y docker-ce-cli. El universo Ubuntu, por otro lado, ni siquiera estaba en mi archivo /etc/apt/source.list.

Ahora actualicé a 20.04 y uso los paquetes de Docker originales (docker.io) del universo Ubuntu. Esto funciona bien y se apaga como se esperaba. Estoy seguro de que esto también habría funcionado en 18.04, pero quería evitar degradar la ventana acoplable cambiando el repositorio.

Respuesta2

En mi instalación de Ubuntu 18.04 systemctl stop dockerse cierran todos los contenedores en ejecución. systemctl start dockerinicia todos los contenedores nuevamente. Estoy de acuerdo con BMitch, se necesitaría más información sobre su instalación para diagnosticar el problema.

Otra forma de cerrar todos los contenedores en ejecución sería:

docker ps -q | xargs docker stop

información relacionada