Pesquisa de site

Como remover imagens, contêineres e volumes do Docker


Docker é uma plataforma de contêiner de código aberto, poderosa, segura, confiável e eficiente que permite uma independência realista entre aplicativos e infraestrutura. Ele está sendo amplamente adotado por empresas de TI e de nuvem, para criar, implantar e executar aplicativos com facilidade.

Um contêiner é uma tecnologia de visualização de sistemas operacionais, que permite que um aplicativo seja empacotado com tudo o que é necessário para executá-lo, permitindo que ele seja executado de forma independente do sistema operacional. Uma imagem de contêiner é um pacote executável independente de um aplicativo que inclui tudo o que é necessário para executá-lo: código, tempo de execução, ferramentas e bibliotecas do sistema, bem como configurações.

Já cobrimos uma série sobre Docker, que explica como instalar o Docker, executar aplicativos em contêineres e construir automaticamente imagens do Docker com o dockerfile.

  1. Instale o Docker e aprenda a manipulação básica de contêineres no CentOS e RHEL 7/6
  2. Como implantar e executar aplicativos em contêineres Docker no CentOS/RHEL 7/6
  3. Crie e configure automaticamente imagens Docker com Dockerfile no CentOS/RHEL 7/6
  4. Como configurar um servidor Web Apache simples em um contêiner Docker

Neste artigo, explicaremos como remover imagens, contêineres e volumes do docker por meio da ferramenta de linha de comando do docker em sistemas Linux.

Como remover imagens Docker

Antes de remover qualquer imagem do Docker, você pode listar todas as imagens existentes em seu sistema com o comando de gerenciamento de imagens.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Observando a saída na captura de tela a seguir, temos algumas imagens sem tag (mostrando ). Elas são chamadas de “imagens pendentes”. Eles não têm mais qualquer relação com nenhuma imagem marcada; eles não são mais úteis e consomem apenas espaço em disco.

Você pode remover uma ou mais imagens Docker antigas ou não utilizadas usando o ID da imagem, por exemplo (onde d65c4d6a3580 é o ID da imagem).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Você pode listar imagens pendentes (imagens não marcadas) usando o sinalizador de filtro -f conforme mostrado.

docker images -f dangling=true	

Para remover todas as imagens pendentes, permitindo recuperar espaço desperdiçado em disco, use qualquer um destes comandos.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Para remover todos os não associados a nenhum contêiner, use o seguinte comando.

docker image prune -a 	

Como remover contêineres Docker

Você pode começar listando todos os contêineres docker em seu sistema usando o seguinte comando.

docker ps
OR
docker ps -a  

Depois de identificar o(s) contêiner(es) que deseja excluir, você pode removê-los usando seu ID, por exemplo.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Se um contêiner estiver em execução, você poderá primeiro interrompê-lo e removê-lo conforme mostrado.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Você também pode forçar a remoção de um contêiner enquanto ele está em execução adicionando o sinalizador --force ou -f, isso enviará um < sinal forte>SIGKILL conforme mostrado.

docker rm -f 0fd99ee0cb61

Você também pode remover contêineres usando filtros. Por exemplo, para remover todos os contêineres encerrados, use este comando.

docker rm $(docker ps -qa --filter "status=exited")

Para parar e remover todos os contêineres, use os comandos a seguir.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Como remover volumes Docker

Como antes, comece listando todos os volumes do docker em seu sistema com o comando de gerenciamento de volume conforme mostrado.

docker volume ls

Para remover um ou mais volumes, use o comando a seguir (observe que você não pode remover um volume que esteja em uso por um contêiner).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Use o sinalizador -f para forçar a remoção de um ou mais volumes.

docker volume rm -f volume_ID

Para remover volumes pendentes, use o seguinte comando.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Para remover todos os volumes locais não utilizados, execute o seguinte comando. Isso removerá os volumes interativamente.

docker volume prune	

Como remover imagens, contêineres, volumes e redes não utilizados ou pendentes

Você pode excluir todos os dados pendentes e não referenciados, como contêineres parados, imagens sem contêineres, com este único comando. Por padrão, os volumes não são removidos, para evitar que dados vitais sejam excluídos se não houver nenhum contêiner usando o volume no momento.

docker system prune

Para remover volumes, basta adicionar o sinalizador --volumes ao comando abaixo, conforme mostrado.

docker system prune --volumes

Nota: Para executar a ferramenta de linha de comando do docker sem o comando sudo, você precisa adicionar um usuário ao grupo docker, por exemplo.

sudo usermod -a -G docker aaronkilik

Para obter mais informações, consulte a página de ajuda dos comandos de gerenciamento de objetos do docker acima.

docker help
docker image help   
docker container help   
docker volume help   

É tudo por agora! Neste artigo, explicamos como remover imagens, contêineres e volumes do docker por meio da ferramenta de linha de comando do docker. Se você tiver alguma dúvida ou opinião para compartilhar, use o formulário de feedback abaixo para entrar em contato conosco.