2.1 Comandos básicos do docker volume
Volumes no Docker oferecem armazenamento de dados durável para containers e permitem gerenciar e isolar dados com facilidade. O comando docker volume
fornece um conjunto de ferramentas para criar, gerenciar e remover volumes. Nesta aula, vamos ver como usar o comando docker volume
para gerenciar volumes de maneira eficiente no Docker.
Comandos básicos do docker volume:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
2.2 Criando um volume: docker volume create
O comando docker volume create
é usado pra criar um novo volume. Por padrão, o Docker cria o volume num local padrão no host, mas tu também pode especificar diferentes parâmetros pra configurar o volume.
Exemplo simples de criação de volume
Este exemplo vai criar um volume chamado my_volume
.
docker volume create my_volume
Criando um volume com configurações
Tu pode especificar o driver e os parâmetros pra criar um volume com características específicas.
docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt
device=tmpfs my_custom_volume
Todos esses parâmetros nós vamos ver mais adiante, então por enquanto não precisa se preocupar muito com eles.
2.3 Lista de volumes: docker volume ls
O comando docker volume ls
mostra uma lista de todos os volumes criados no host.
docker volume ls
A saída vai trazer informações sobre todos os volumes existentes:
DRIVER VOLUME NAME
local my_volume
local my_custom_volume
2.4 Informações sobre o volume: docker volume inspect
O comando docker volume inspect
fornece informações detalhadas sobre um volume específico, incluindo sua localização, parâmetros e uso.
docker volume inspect my_volume
A saída do comando conterá informações no formato JSON:
[
{
"CreatedAt": "2023-07-26T12:34:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
"Name": "my_volume",
"Options": {},
"Scope": "local"
}
]
2.5 Removendo um volume: docker volume rm
O comando docker volume rm
é usado para remover um volume. É importante garantir que o volume não esteja sendo usado por containers antes de removê-lo.
Removendo um volume
Se o volume estiver em uso, o Docker retornará um erro indicando que o volume não pode ser removido.
docker volume rm my_volume
Limpando volumes não utilizados: docker volume prune
O comando docker volume prune
remove todos os volumes não utilizados, o que ajuda a liberar espaço no disco.
Limpando volumes não utilizados
Depois de executar o comando, o Docker pedirá confirmação antes de remover todos os volumes não utilizados.
docker volume prune
2.6 Exemplos de uso prático de comandos
Exemplo 1: Criando e usando um volume em um container
Criando um volume:
docker volume create app_data
Executando um container com o uso do volume:
docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx
Nesse exemplo, o volume app_data
está montado no diretório /usr/share/nginx/html
do container nginx
.
Exemplo 2: Obtendo informações de um volume
Criando um volume:
docker volume create logs_data
Executando um container com o uso do volume:
docker run -d --name log_app -v logs_data:/var/log/app busybox
Visualizando informações do volume:
docker volume inspect logs_data
Exemplo 3: Removendo e limpando volumes
Criando e utilizando um volume:
docker volume create temp_data
docker run -d --name temp_app -v temp_data:/tmp busybox
Parando e removendo o container:
docker stop temp_app
docker rm temp_app
Removendo o volume:
docker volume rm temp_data
Limpando todos os volumes não utilizados:
docker volume prune
GO TO FULL VERSION