DEV Community

Wladimir
Wladimir

Posted on

Docker Volume

Hoje vamos falar sobre Docker Volume, uma funcionalidade que pode salvar sua vida.
Ao utilizarmos o docker para criar nossos containers, em muitos cenários nós inserimos os arquivos dentro do container. Como o exemplo abaixo.

Image description

FROM nginx
COPY arquivo.txt /usr/share/nginx/html/
EXPOSE 80

Nesse exemplo, pegamos o arquivo "arquivo.txt" e colocamos ele dentro do container criado. O usuário irá interagir com o arquivo, inserindo, modificando ou apagando informações. Mas como esse arquivo está localizado dentro do container, então temos um problema.Caso o container seja eliminado - independente do motivo - esse arquivo, assim como todas suas modificações também será perdido.Esse cenário inclui também uma base de dados.Pode ser que você tenha utilizado uma imagem de um MySQL, MariaDB, etc.E é nesse cenário que o docker volume surge para eliminar esse problema. Ao utilizar essa abordagem, o arquivo não é colocado dentro do container. Ao invés disso, é criado um mapeamento do container para o arquivo.

Image description

Como mostrado na imagem acima, o arquivo não estará dentro do container, mas apenas mapeado.Toda interação realizada no arquivo ou base de dados, será realizado no container mas salvo em um diretório da sua máquina.E mesmo que o container seja deletado, o arquivo, ou a base de dados não será perdido. Muito legal, não é!? Mas essa abordagem é perfeita!? Bom, nem tudo são flores. Como tudo fica salvo em um diretório da máquina, você terá que garantir que ninguém terá como apagar esse diretório, caso contrário você terá tudo perdido. Mas é uma abordagem bem interessante para garantir que os dados não sejam perdidos.

Curtiu essa dica? Escreve aqui o que achou, dando sugestões, dicas, melhorias.

Este está sendo minha postagem nesse blog e conto com vocês da comunidade para melhorias.

Valeu.

Top comments (0)