5

volumes em contêineres Docker

 2 weeks ago
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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK