Quiero eliminar el contenedor en Docker, pero se produce un error cuando desea eliminar
Mi siguiente paso antes de eliminar el contenedor, ver la lista de contenedores existentes
sts@Yudi:~/docker$ sudo docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
78479ffeba5c ubuntu "/bin/bash" 42 hours ago Exited (0) 42 hours ago sharp_wescoff 81 B (virtual 187.7 MB)
0bd2b54678c7 training/webapp "python app.py" 5 days ago Exited (0) 5 days ago backstabbing_ritchie 0 B (virtual 323.7 MB)
0adbc74a3803 training/webapp "python app.py" 5 days ago Exited (143) 5 days ago drunk_feynman 0 B (virtual 323.7 MB)
uno quiero eliminar la lista, a saber, "entrenamiento / aplicación web" pero se produjo un error
sts@Yudi:~/docker$ sudo docker rmi training/webapp
Error response from daemon: conflict: unable to remove repository reference "training/webapp" (must force) - container 0bd2b54678c7 is using its referenced image 54bb4e8718e8
Error: failed to remove images: [training/webapp]
Si el contenedor se está ejecutando en las imágenes?
Por favor ayuda
docker
containers
Yuday
fuente
fuente
Respuestas:
Hay una diferencia entre las imágenes acoplables y los contenedores acoplables. Marque esta pregunta SO .
En resumen, un contenedor es una instancia en ejecución de una imagen. Es por eso que no puede eliminar una imagen si hay un contenedor en ejecución de esa imagen. Solo necesita eliminar el contenedor primero.
Actualización para Docker 1.13+ [desde enero de 2017]
Básicamente, los comandos anteriores también podrían reescribirse, más claramente, como:
Además, si desea eliminar TODO , puede usar:
fuente
docker rmi -f id
para "forzar" la eliminación.-f
ayuda cuando desea eliminar una imagen a la que se hace referencia en múltiples repositorios, que es otra razón común para no eliminar una imagen.docker container ls
solo enumera los contenedores en ejecución. Esto me molestó hasta que me di cuenta de que agregar la-a
bandera los enumera a todos.Primero, elimine los nombres de los contenedores.
El resultado
elimine la segunda parte, que aparece en el contenedor que se va a eliminar
En segundo lugar, retire el contenedor.
El resultado
Comprueba el contingente
fuente
rm `docker ps -aq`
, en lugar de retirarlos de uno en uno. Más información aquíSi desea limpiar las imágenes y contenedores de la ventana acoplable
PRECAUCIÓN: esto vaciará todo
detener todos los contenedores
eliminar todos los contenedores
eliminar todas las imágenes
fuente
docker rm $(docker ps -a -q)
. ¡Gracias!puede usar la
-f
opción para forzar la eliminación de los contenedores.sudo docker rmi -f training/webapp
Puede detener el uso de contenedores
sudo docker stop training/webapp
antes de eliminarfuente
sudo docker stop 0bd2b54678c7
Si ha lanzado múltiples contenedores acoplables, use esto
$ docker rm $(docker ps -aq)
Eliminará todos los acopladores actuales enumerados en el comando "ps -aq".
Fuente: aaam en https://github.com/docker/docker/issues/12487
fuente
docker image ls
y luegodocker image rm X
dónde se obtenía cada X de lals
salida.Noté que esta es una pregunta de 2 años, pero aún quiero compartir mi solución para esta pregunta en particular: en
primer lugar, ejecute
docker container ls -a
para enumerar todos los contenedores que tiene y señalar el deseo que desea eliminar.En segundo lugar, elimine el que tiene el comando
docker container rm <CONTAINER ID>
(si el contenedor se está ejecutando actualmente, primero debe detenerlo, ejecutarlodocker container stop <CONTAINER ID>
para detener con gracia el contenedor especificado, si no lo detiene por la razón que sea, alternativamente puede ejecutarlodocker container kill <CONTAINER ID> to force shutdown of the specified container
).En tercer lugar, retire el contenedor ejecutando
docker container rm <CONTAINER ID>
.Por último, puede ejecutar
docker image ls -a
para ver todas las imágenes y eliminar la que desee mediante la ejecucióndocker image rm <hash>
.fuente
Eliminar imágenes de la ventana acoplable>
Listar todos los contenedores
Listar todas las imágenes
Detener contenedor por ID de contenedor
Eliminar contenedor por ID de contenedor
Si no desea detener y eliminar, puede forzar la eliminación
Quita la imagen
¡Hecho!
fuente
enumere todas las imágenes de su ventana acoplable:
enumere todos los contenedores acoplables existentes:
elimine todos los contenedores de destino, que está utilizando la imagen que desea eliminar:
eliminar la imagen objetivo:
fuente
Eliminar solo los contenedores asociados con una imagen específica
fuente