Docker Eliminar automáticamente un contenedor después de ejecutarlo


Ejemplo

Normalmente, un contenedor Docker persiste después de haber salido. Esto le permite ejecutar el contenedor nuevamente, inspeccionar su sistema de archivos, y así sucesivamente. Sin embargo, a veces desea ejecutar un contenedor y eliminarlo inmediatamente después de que se cierre. Por ejemplo, para ejecutar un comando o mostrar un archivo desde el sistema de archivos. Docker proporciona la opción de línea de comandos --rm para este propósito:

docker run --rm ubuntu cat /etc/hosts

Esto creará un contenedor a partir de la imagen "ubuntu", mostrará el contenido del archivo / etc / hosts y luego eliminará el contenedor inmediatamente después de que salga. Esto ayuda a evitar tener que limpiar los contenedores después de que haya terminado de experimentar.

Nota: el indicador --rm no funciona junto con el --detach -d ( --detach ) en la ventana acoplable <1.13.0.

Cuando se --rm indicador --rm , Docker también elimina los volúmenes asociados con el contenedor cuando se elimina el contenedor. Esto es similar a la ejecución de docker rm -v my-container . Sólo se eliminan los volúmenes que se especifican sin un nombre .

Por ejemplo, con la docker run -it --rm -v /etc -v logs:/var/log centos /bin/produce_some_logs , el volumen de /etc se eliminará, pero el volumen de /var/log no se eliminará. Los volúmenes heredados a través de --volumes-from se eliminarán con la misma lógica: si el volumen original se especificó con un nombre, no se eliminará.