DEV Community

DeividFerraz
DeividFerraz

Posted on

Volumes no Docker: Como Persistir e Compartilhar Dados

Quando usamos containers, um dos maiores desafios é a persistência de dados.
Por padrão, tudo que é criado dentro de um container é temporário. Se o container for parado ou removido, os dados são perdidos.

É aqui que entram os volumes no Docker, uma forma de mapear diretórios do host para dentro do container, garantindo persistência e até compartilhamento de arquivos.


Como funciona o volume no Docker:

  • Exemplo base: docker run -d -p 8088:80 --name n-demo -v C:\Users\deivi\EstudoImagens\html:/usr/share/nginx/html:ro nginx:latest

Vamos destrinchar da parte que interessa (-v) para frente:

  • (-v): Significa volume. É onde informamos o mapeamento entre o host e o container.

  • (C:\Users\deivi\EstudoImagens\html:): É o caminho do host. Nesse diretório você tem seus arquivos HTML.

  • (/usr/share/nginx/html): É o caminho dentro do container. O Nginx, por padrão, serve páginas desse diretório.
    Ou seja, o que está na pasta do host será espelhado aqui dentro do container.

  • (:ro): É a permissão de acesso do container ao volume.

    • ro → read-only (somente leitura). O container pode ler, mas não alterar arquivos.
    • rw → read-write (leitura e escrita, é o padrão). O container pode modificar arquivos. _________________________________________________________________________

Benefícios de usar volumes:

  • 1 Persistência de dados: mesmo que o container seja parado ou recriado, os dados continuam salvos no host.

  • 2 Facilidade de desenvolvimento: você pode alterar arquivos no host e ver as mudanças refletirem no container em tempo real.

  • 3 Compartilhamento: um volume pode ser usado por múltiplos containers ao mesmo tempo, permitindo colaboração entre serviços.

Top comments (0)