Anonim

Se você precisa de uma plataforma abrangente de contêineres de código aberto para criar independência entre aplicativos e infraestrutura, o Docker é a sua aposta mais segura. Se você já teve a chance de usá-lo, já sabe como é capaz e fácil de usá-lo.

Um grande número de empresas de nuvem e TI o considera extremamente útil e sua popularidade é definitivamente merecida.

Ainda assim, isso não a torna perfeita. A prova pode ser vista nas limitações que acompanham a remoção de imagens, volumes, contêineres e redes. Embora esses comandos estejam disponíveis, eles não são tão abrangentes quanto os usuários desejam.

Aqui você verá os principais problemas que os usuários encontram, bem como as soluções para eles. Você aprenderá como remover imagens e contêineres de maneira fácil.

O problema

A tecnologia de contêiner fornece uma maneira de visualizar sistemas operacionais. Ele permite que um aplicativo seja empacotado com tudo o que é necessário para executá-lo, o que permite que ele atue independentemente do sistema operacional.

Imagens de contêiner são pacotes de aplicativos executáveis ​​independentes que incluem tudo o que é necessário para que um aplicativo funcione corretamente. Tempo de execução, código, configurações e ferramentas e bibliotecas do sistema estão contidos em cada imagem.

À medida que você usa o Docker, essas imagens se acumulam. Com o tempo, um grande número de imagens, volumes de dados e contêineres não utilizados é acumulado, criando um ambiente Docker lotado. Quando isso acontece, é necessário atualizar o ambiente para que a plataforma funcione como deveria.

Existem vários comandos que podem fazer isso acontecer, então vamos dar uma olhada nas principais maneiras de desorganizar o ambiente do Docker.

Remoção de imagens do Docker

Antes de remover as imagens desnecessárias, é necessário distingui-las das úteis. Isso pode ser feito facilmente listando todas as imagens que o seu sistema contém, usando o comando de gerenciamento de imagens.

Aqui está o que parece:

$ docker image #list the most recently created images

Ou

$ docker image -a #list all images

Com o segundo comando, você verá todas as suas imagens do Docker. Tudo o que você precisa fazer é encontrar as chamadas "imagens pendentes". Essas são todas as imagens do Docker que não contêm uma tag. Sem a tag, não há conexão com as imagens marcadas, o que significa que elas não são mais úteis.

Você pode excluir uma ou mais imagens usando o ID da imagem. Para fazer isso, use um destes comandos:

$ docker rmi d65c4d6a3580 #remove a single image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

Uma solução mais conveniente é usar o sinalizador de filtro -f para listar todas as imagens pendentes.

Para excluir essas imagens e limpar o espaço em disco, use um dos seguintes comandos:

$ docker image prune #interactively remove dangling images

Ou

$ docker rmi $(docker images -q -f dangling=true)

Você pode remover todas as imagens do Docker de maneira semelhante. Liste-os usando o comando $ docker images –a comando e remova-os usando o seguinte:

$ (docker rmi $(docker images -a -q)

Outra opção é excluir as imagens que seguem um determinado padrão. Para listá-los, use o seguinte comando:

$ docker images -a | grep "pattern"

Em seguida, remova-os usando:

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Remoção de contêineres

Outra coisa que você pode fazer depois de trabalhar com o Docker por um certo período de tempo é excluir um ou mais contêineres.

Semelhante à remoção de imagem, primeiro você precisa listá-las usando o seguinte comando:

$ docker ps

Ou

$ docker ps -a

Quando você encontrar os contêineres que deseja remover, use o ID deles para fazê-lo.

$ docker rm 0fd99ee0cb61 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers

Caso o contêiner que você está tentando remover esteja em execução, você pode usar o seguinte comando para pará-lo:

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

Por fim, você pode parar e remover todos os contêineres desnecessários usando os seguintes comandos:

$ docker stop $(docker ps -a -q) #stop all containers

$ docker container prune #interactively remove all stopped containers

Ou

$ docker rm $(docker ps -qa)

Isso permitirá que você libere espaço em disco valioso e comece do zero.

A palavra final

Como você pode ver, remover imagens e contêineres do Docker não é tão assustador quanto pode. Agora que você conhece esses comandos, pode ter mais controle sobre sua experiência no Docker.

Obviamente, esses são apenas alguns dos comandos e você pode usar uma variedade de outras combinações. Ainda assim, eles farão o trabalho muito bem, então fique à vontade para experimentá-los.

Como excluir todas as imagens do Docker