volumes em contêineres Docker
source link: https://gist.github.com/joaovictorino/619425106c1f21ff6b05670770695569
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Volumes em contêineres Docker
Vamos testar alguns conceitos usando volumes. Crie uma pasta docker no drive C: (C:/docker), caso seja windows, ou uma pasta no sistema operacional que esteja usando, abra o terminal e execute o comando abaixo
docker run -it -v /c/docker:/app ubuntu bash
Agora dentro do contêiner ainda, execute o seguinte comando
cd /app
echo "laboratorio de docker" > aula.txt
Agora vá no diretório da máquina local (C:/docker), note que o arquivo aula.txt está lá e abra no bloco de notas, que estará escrito "laboratorio de docker".
Agora podemos perceber que, como os contêineres são efêmeros e que podem acabar a qualquer momento, devemos evitar guardar dados dentro dele, mas espelhar os dados em outro local.
Outra forma de trabalhar com volumes, é criar um espaço sem especificar o caminho na máquina local.
Vamos tentar, digite "exit" e enter no contêiner atual e execute o comando abaixo
docker volume create exemplo-volume
Acabamos de criar um volume, agora basta executar um contêiner fazendo uso do volume
docker run -it -v exemplo-volume:/app ubuntu bash
Executar os comandos abaixo no contêiner
cd /app
echo "laboratorio de docker 2" > aula2.txt
Saia do contêiner digitando "exit" e suba outro contêiner mapeando o mesmo diretório
docker run -it -v exemplo-volume:/app ubuntu bash
Vá até a pasta app, pelo contêiner novo, e perceba que o mesmo arquivo está lá, execute os comandos abaixo
cd /app
cat aula2.txt
O comando "cat" executado acima, joga o conteúdo do arquivo txt na tela.
Agora qual o caminho em que este arquivo aula2.txt está guardado? Saia do container, digitando "exit" e enter, então execute o comando abaixo
docker volume inspect exemplo-volume
Veja o atributo "Mountpoint" e percebe que o arquivo está salvo na máquina virtual onde o Docker está rodando.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK