Estou tentando excluir um contêiner do docker com este comando:
docker rmi <Image-Id>
Obviamente, substituí o Id da imagem pelo Id que recebo usando:
docker images
Mas vejo o erro abaixo:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
docker
docker-container
Mehrdad Babaki
fonte
fonte
Você precisa excluir o contêiner interrompido com
docker rm
e, em seguida, pode excluir a imagem com que ele usadocker rmi
.fonte
Você também pode descobrir que parou os contêineres que estão causando o bloqueio. Remova-os primeiro usando:
Aqui estamos listando os processos do docker apenas pelo ID e removendo-os; no entanto, docker rm removerá apenas contêineres parados.
Em seguida, volte e remova as imagens usando:
fonte
Você deve remover o recipiente primeiro.
Forçado é o último método a ser usado.
fonte
Caso
docker rmi <image-id>
não funcione, tente o seguinte:Pare todos os contêineres em execução
Remova todos os recipientes
Remover todas as imagens
fonte
Além das outras respostas, tive o mesmo problema ao usar o Docker para Mac, mas
docker ps -a
não mostrei nenhum contêiner em execução. Programas em execuçãodocker images
:Todas essas imagens são usadas pelo aplicativo Docker se você tiver o Kubernetes ativado. Nas preferências do Docker para Mac, há uma seção para Kubernetes. Se você clicar em "Mostrar contêineres do sistema (avançado)", eles aparecerão em
docker ps
.Se você deseja excluir essas imagens, desative o Kubernetes por meio do aplicativo Docker para Mac e tente novamente.
fonte
Os contêineres do Docker são executados sobre as imagens do docker, você pode excluir uma imagem apenas se ela não estiver anexada a nenhum contêiner.! Então você tem que parar o contêiner e remover o contêiner, então você pode remover o id da imagem.
docker stop container-id e docker rm container-id
Em seguida, tente remover image docker rmi image-id
Algumas informações extras fornecidas no link abaixo. Felicidades.!
https://docs.docker.com/config/pruning/
fonte
Se o objetivo é recuperar espaço em disco, outra abordagem ainda não mencionada é usar
docker system prune
. Irá imprimir um aviso que deve ser observado:Isso não excluirá as imagens nomeadas, mas eliminará as imagens intermediárias sem nome. Dependendo dos tamanhos dos contêineres que você está usando, isso pode economizar uma quantidade considerável de espaço em disco.
fonte
Se você mudou no
Dockerfile
e se está usando o docker compose, você pode simplesmente reconstruir sua imagem executandodocker-compose
com a--build
opção!fonte
Dockerfile
não deve remover a imagem sozinho, apenas use o sinalizador--build
comdocker-compose
para que ele reconstrua uma nova imagem com as alterações