Compartilhando Dados Entre Contêineres
Um dos grandes benefícios dos volumes do Docker é a capacidade de compartilhar dados entre contêineres. Vamos criar outro contêiner que use o mesmo volume:
docker run -d --name another_container -v my_data:/app/shared_data ubuntu:latest sleep infinity
Este comando é muito semelhante ao que usamos antes, mas estamos dando ao contêiner um nome diferente e montando o volume em um caminho diferente dentro do contêiner.
Agora, vamos verificar se este novo contêiner pode acessar os dados que criamos anteriormente:
docker exec another_container cat /app/shared_data/test.txt
Você deve ver a mesma mensagem "Hello from Docker volume" que escrevemos anteriormente. Isso mostra que ambos os contêineres estão acessando os mesmos dados.
Vamos adicionar mais alguns dados a partir deste novo contêiner:
docker exec another_container sh -c "echo 'Data from another container' >> /app/shared_data/test.txt"
Este comando anexa uma nova linha ao nosso arquivo test.txt.
Agora, se verificarmos o conteúdo do arquivo de qualquer um dos contêineres, deveremos ver ambas as linhas:
docker exec my_container cat /app/data/test.txt
Você deve ver tanto "Hello from Docker volume" quanto "Data from another container" na saída.
Isso demonstra como os volumes do Docker podem ser usados para compartilhar dados entre contêineres, o que é incrivelmente útil para muitas aplicações.