CodeGym /Cursos /Docker SELF /Criação e gerenciamento de volumes

Criação e gerenciamento de volumes

Docker SELF
Nível 19 , Lição 1
Disponível

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:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. 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.

Terminal

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.

Terminal

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.

Terminal

docker volume ls

A saída vai trazer informações sobre todos os volumes existentes:

Terminal

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.

Terminal

docker volume inspect my_volume

A saída do comando conterá informações no formato JSON:

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.

Terminal

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.

Terminal

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:

Terminal

docker volume create app_data

Executando um container com o uso do volume:

Terminal

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:

Terminal

docker volume create logs_data

Executando um container com o uso do volume:

Terminal

docker run -d --name log_app -v logs_data:/var/log/app busybox

Visualizando informações do volume:

Terminal

docker volume inspect logs_data

Exemplo 3: Removendo e limpando volumes

Criando e utilizando um volume:

Terminal

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

Parando e removendo o container:

Terminal

docker stop temp_app

docker rm temp_app

Removendo o volume:

Terminal

docker volume rm temp_data

Limpando todos os volumes não utilizados:

Terminal

docker volume prune
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION