Se acumular volumes sem uti­li­za­ção, poderá estar a des­per­di­çar recursos valiosos, como espaço de ar­ma­ze­na­mento e ca­pa­ci­dade de pro­ces­sa­mento. Ao eliminar um volume não utilizado no Docker, pode aumentar a efi­ci­ên­cia e o de­sem­pe­nho da sua pla­ta­forma de con­ten­to­res.

Quando é que se deve apagar volumes no Docker?

Um volume do Docker é uma área de ar­ma­ze­na­mento isolada que os con­ten­to­res Docker podem utilizar para armazenar ficheiros, con­fi­gu­ra­ções, registos ou outros dados durante o ciclo de vida do contentor. Estes volumes são in­de­pen­den­tes das ins­tân­cias do contentor e podem ser fa­cil­mente criados, geridos e eli­mi­na­dos. Se de­sins­ta­lar con­ten­to­res as­so­ci­a­dos a um volume es­pe­cí­fico e já não precisar dos dados que estes contêm, o melhor é eliminar esse volume.

Um ambiente Docker limpo e or­ga­ni­zado é mais fácil de gerir e manter. Ao eliminar os volumes não uti­li­za­dos, pode reduzir a com­ple­xi­dade da sua in­fra­es­tru­tura de con­ten­to­res. Em ambientes baseados na nuvem, os volumes não uti­li­za­dos também podem gerar custos. Eliminar esses volumes pode ajudá-lo a reduzir as suas despesas mensais e aumentar a segurança do sistema, uma vez que os dados con­fi­den­ci­ais que nele es­ti­ves­sem ar­ma­ze­na­dos deixarão de estar aces­sí­veis. Desta forma, contribui-se, em par­ti­cu­lar, para prevenir fugas de dados.

No entanto, é im­por­tante ter em conta que os volumes devem ser eli­mi­na­dos com cuidado, para garantir que não se percam dados im­por­tan­tes de que os con­ten­to­res em execução ne­ces­si­tem. Antes de eliminar volumes no Docker, re­co­men­da­mos que se criem cópias de segurança. É também acon­se­lhá­vel iden­ti­fi­car os volumes obsoletos e eliminá-los durante a ma­nu­ten­ção regular da in­fra­es­tru­tura do Docker.

Leia mais in­for­ma­ções sobre a gestão de volumes do Docker.

Eliminar um ou mais volumes es­pe­cí­fi­cos

No Docker 1.9 e versões pos­te­ri­o­res, pode eliminar um ou vários volumes es­pe­cí­fi­cos uti­li­zando o comando docker volume rm e indicando os seus nomes ou IDs.

Passo 1. Listar volumes do Docker

Para obter primeiro uma lista dos volumes Docker exis­ten­tes, pode executar o comando docker volume ls no seu sistema. Em seguida, será apre­sen­tada uma tabela com in­for­ma­ções sobre os volumes, incluindo os nomes e os IDs.

docker volume ls
bash

Passo 2. Apagar um volume no Docker

Agora pode eliminar os volumes se­le­ci­o­na­dos in­tro­du­zindo o comando docker volume rm e, em seguida, os seus nomes ou IDs separados por espaços.

docker volume rm VOLUME_NAME_OR_ID basa
bash

É acon­se­lhá­vel cer­ti­fi­car-se de que não existem con­têi­ne­res em execução que estejam a utilizar os volumes que pretende eliminar. A eli­mi­na­ção de volumes, neste caso, poderá resultar na perda ir­re­pa­rá­vel de dados.

Apagar um volume Docker sem re­fe­rên­cia

Os volumes Docker sem re­fe­rên­cia são volumes que já não estão as­so­ci­a­dos a con­ten­to­res ou serviços. Eliminar esses volumes sem re­fe­rên­cia pode ajudar a libertar espaço de ar­ma­ze­na­mento não utilizado e a melhorar a gestão da sua in­fra­es­tru­tura Docker. Para eliminar volumes Docker sem re­fe­rên­cia, siga os seguintes passos:

Passo 1. Listar volumes sem re­fe­rên­cia

Ao executar o comando a seguir, obterá uma lista dos volumes sem re­fe­rên­cia do seu sistema que são con­si­de­ra­dos «dangling». Depois, pode limpar ou eliminar esses volumes, conforme ne­ces­sá­rio.

docker volume ls -f dangling=true
bash

Passo 2. Eliminar volumes sem re­fe­rên­cia

O comando docker volume prune solicita con­fir­ma­ção antes de eliminar os volumes sem re­fe­rên­cia. Pode digitar «y» ou «yes» para confirmar que deseja eliminar os volumes.

docker volume prune
bash

Eliminar um contentor e o seu volume

Com o comando docker rm -v container_name, pode eliminar um contentor Docker e, ao mesmo tempo, todos os volumes as­so­ci­a­dos a esse contentor. Se aplicar o comando a um contentor associado a volumes com nome, o contentor será eliminado e todos os volumes com nome as­so­ci­a­dos a esse contentor per­ma­ne­ce­rão intactos. Estes volumes con­ti­nu­a­rão dis­po­ní­veis no seu sistema, poderão ser uti­li­za­dos por outros con­ten­to­res e manterão o seu nome per­so­na­li­zado. No caso dos volumes sem nome, estes são eli­mi­na­dos de forma ir­re­ver­sí­vel e os dados que contêm são perdidos.

Noutro artigo, ex­pli­ca­mos com mais pormenor como eliminar os con­ten­to­res do Docker.

Apagar um volume no Docker associado a um contentor

O indicador -v significa «volumes» e é a opção que se adiciona ao comando docker rm para es­pe­ci­fi­car que todos os volumes as­so­ci­a­dos ao contentor também devem ser eli­mi­na­dos.

docker rm -v container_name
bash
Ir para o menu principal