Mi proyecto incluye un Dockerfile para construir una imagen. Hice modificaciones en ese Dockerfile y quiero ver si funciona. Así que cerré mi programa y enumeré todas las imágenes de la ventana acoplable en PowerShell usando docker image ls -a . Eliminé todas las imágenes no utilizadas usando docker rmi -f $(docker images -a -q) y docker image prune -a .
Pero mi imagen sigue sin ser eliminada, sino simplemente 'sin etiquetar':
Untagged: my_image:latest Untagged: my_image@sha256:16eb92a476be0... Todos los contenedores se detienen y eliminan antes de intentar eliminar la imagen.
Cuando reinicio mi aplicación para crear una nueva imagen, la anterior se sigue usando:
> docker image ls -a REPOSITORY TAG IMAGE ID CREATED /my_image latest 0d79904a74b0 2 months ago¿Cómo elimino físicamente la imagen anterior para que mi aplicación pueda crear una nueva?
Al principio, debe eliminar/detener el contenedor en ejecución que está usando su imagen (cuál desea eliminar).
docker ps -a : para ver todos los contenedores en ejecución en su máquina.docker stop <container_id> : para detener un contenedor en ejecución.docker rm <container_id> : para eliminar/eliminar un contenedor docker (solo si se detuvo).docker image ls : para ver la lista de todas las imágenes disponibles con su etiqueta, ID de imagen, tiempo de creación y tamaño.docker rmi <image_id> : para eliminar una imagen específica.docker rmi -f <image_id> : para eliminar una imagen docker a la fuerzadocker rm -f (docker ps -a | awk '{print$1}') : para eliminar todo el contenedor docker disponible en su máquinadocker image rm <image_name> : para eliminar una imagen específicaPara eliminar la imagen, debe eliminar/detener todos los contenedores que la están utilizando.
docker system prune -a : para limpiar el entorno de la ventana acoplable, eliminando todos los contenedores e imágenes.