tag run remove hub example compose docker

run - ¿Debería preocuparme por los contenedores Docker que no funcionan?



docker-compose (3)

Cada comando de docker run acoplador, o cada comando EJECUTADO dentro de un archivo Docker, crea un contenedor. Si el contenedor ya no se está ejecutando, aún se puede ver con docker ps -a .

¿Debo preocuparme por tener una enorme lista de contenedores que no funcionan? ¿Debería emitir docker rm en contenedores que no funcionan?

No estoy seguro de qué rendimiento o penalizaciones de memoria / almacenamiento incurrirán estos contenedores no en ejecución.


La documentación de la docker run describe cómo limpiar automáticamente el contenedor y eliminar el sistema de archivos cuando el contenedor sale:

--rm=false: Automatically remove the container when it exits (incompatible with -d)

Lo anterior muestra que, por defecto, los contenedores no se eliminan, sino que se agrega --rm=true o solo la abreviatura --rm funcionará así:

sudo docker run -i -t --rm ubuntu /bin/bash

Cuando salga del contenedor, se eliminará automáticamente.

Puede probar esto al enumerar los contenedores de su docker en una ventana de terminal:

watch -n1 ''sudo ls -c /var/lib/docker/containers''

Y luego, en otra ventana, ejecute este comando para ejecutar múltiples contenedores acoplables que saldrán automáticamente después de dormir por hasta 10 segundos.

for i in {1..10}; do sudo docker run --rm ubuntu /bin/sleep $i & done


Los contenedores que no se ejecutan no toman ningún recurso del sistema además del espacio en disco.

Por lo general, es bueno limpiarlo después de usted, pero si tiene muchos de ellos sentados no debería ralentizar el rendimiento.

Si nota una disminución de velocidad al ejecutar los comandos de Docker con muchos contenedores detenidos, es posible que se trate de un error en la ventana acoplable, y debe enviar un error.


Si ejecuta un contenedor con un volumen y no utiliza docker rm -v para eliminarlo, entonces el volumen no se eliminará después de que retire un contenedor. También hay un issue con un controlador de almacenamiento vfs. Si olvida limpiar, los volúmenes consumirán su espacio en disco.