DEV Community

Cover image for #4 Docker - Volumes
Bruno
Bruno

Posted on

#4 Docker - Volumes

Docker Volumes

Volumes são mecanismos utilizados pelo Docker para persistir dados
fora do ciclo de vida dos containers
.

Por padrão, containers são efêmeros, ou seja, quando um container é
removido, os dados armazenados dentro dele também são perdidos. Volumes
permitem que os dados sejam armazenados no host, garantindo
persistência.


Características dos Volumes

  • Persistem dados mesmo após o container ser removido
  • Podem ser compartilhados entre múltiplos containers
  • São gerenciados pelo Docker
  • Ficam armazenados no host
  • Local padrão no Linux: /var/lib/docker/volumes

Criando um Volume

Criar volume:

docker volume create meu-volume
Enter fullscreen mode Exit fullscreen mode

Listar volumes:

docker volume ls
Enter fullscreen mode Exit fullscreen mode

Inspecionar volume:

docker volume inspect meu-volume
Enter fullscreen mode Exit fullscreen mode

Remover volume:

docker volume rm meu-volume
Enter fullscreen mode Exit fullscreen mode

Utilizando Volume em um Container

Exemplo com nginx:

docker run -d \
--name nginx-container \
-v meu-volume:/usr/share/nginx/html \
nginx:1.27-alpine
Enter fullscreen mode Exit fullscreen mode

Estrutura:

Host
 │
 └─ Volume (meu-volume)
      │
      └─ Container nginx
           └─ /usr/share/nginx/html
Enter fullscreen mode Exit fullscreen mode

Tipos de Persistência:

  • Volume (gerenciado pelo Docker)

    -v meu-volume:/data

  • Bind Mount (diretório do host)

    -v ./dados:/data


Compartilhando Volume entre Containers

docker run -d --name container1 -v shared-volume:/app nginx
docker run -d --name container2 -v shared-volume:/app nginx
Enter fullscreen mode Exit fullscreen mode

Ambos os containers acessam os mesmos dados.


Resumo

Conceito Descrição
Volume Persistência de dados no Docker
Container Ambiente efêmero
Bind Mount Pasta do host montada dentro do container
Compartilhamento Volumes podem ser utilizados por vários containers

Top comments (0)