Docker

Volumes, montagem e muito mais do Docker

Volumes, montagem e muito mais do Docker
No Docker, sempre que você cria um contêiner, há um local especificado onde os dados do contêiner serão armazenados. Se você não fornecer nenhum local para que os dados sejam armazenados, eles serão armazenados no contêiner. Quando você exclui o contêiner, os dados também são perdidos. No entanto, ao trabalhar em projetos corporativos, para evitar a perda de dados, você pode remover um contêiner, mas manter os dados. Você pode usar esses dados para criar mais contêineres e compartilhar os dados entre esses contêineres. É aqui que o volume do Docker entra em jogo.

Recursos do Docker Volumes

Neste tutorial, vamos explicar o que é um volume Docker e como usá-lo, bem como como montar um volume no Docker.

Requisitos

Sintaxe básica do volume do Docker

Você pode usar o comando “docker volume” para ver todas as opções disponíveis com o volume:

volume docker

Você deve ver a seguinte saída após inserir o comando acima:

Uso: volume docker COMMAND
Gerenciar volumes
Comandos:
criar Criar um volume
inspecionar Exibir informações detalhadas em um ou mais volumes
Volumes da lista ls
podar Remova todos os volumes locais não utilizados
rm Remova um ou mais volumes
Execute 'docker volume COMMAND --help' para obter mais informações sobre um comando.

Crie um Volume

Para criar um volume de dados, primeiro você precisa criar um volume de dados no host Docker e anexar o volume ao contêiner.

Você pode criar um volume Docker usando o comando “docker volume create.”Por exemplo, use o seguinte comando para criar um novo volume do Docker chamado myvolume:

volume docker criar myvolume

Você deve ver a seguinte saída:

myvolume

Você pode listar seu volume existente usando o seguinte comando:

volume docker ls

Você deve ver a seguinte saída:

NOME DO VOLUME DO DRIVER
local c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
myvolume local

Se você quiser ver mais informações sobre o volume, execute o seguinte comando:

docker inspecionar meu volume

Você deve obter a seguinte saída após executar o comando acima:

[

"CreatedAt": "2020-09-12T04: 51: 31Z",
"Driver": "local",
"Rótulos": ,
"Mountpoint": "/ var / lib / docker / volumes / myvolume / _data",
"Nome": "meuvolume",
"Opções": ,
"Escopo": "local"

]

Monte um Volume

Neste ponto, você tem um volume chamado myvolume. Neste exemplo, você criará um contêiner e montará um myvolume no contêiner.

Você pode usar a opção -mount para montar o volume. A sintaxe básica para montar o volume no contêiner é mostrada abaixo:

docker run --mount source = volume-name, destination = path-inside-container docker-images

Por exemplo, para criar um contêiner Ubuntu e montar o myvolume no contêiner, execute o seguinte comando:

docker run -it --name = volumecontainer --mount source = myvolume, destination = / data ubuntu

Este comando puxará a imagem do Ubuntu do Docker Hub, iniciará o contêiner no modo interativo com o nome volumecontainer e montará o contêiner myvolume no / data dentro do diretório / data:

Não foi possível encontrar a imagem 'ubuntu: mais recente' localmente
mais recente: puxando da biblioteca / ubuntu
54ee1f796a1e: Puxar completo
f7bfea53ad12: Extração completa
46d371e02073: Extração completa
b66c17bbf772: Extração completa
Resumo: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Download da imagem mais recente para o ubuntu: mais recente
root @ 06a477c4e444: / #

Você pode verificar o volume montado com o seguinte comando:

[email protegido]: / # ls

Você deve ver o diretório de dados na seguinte saída:

bin boot data dev etc home lib lib32 lib64 libx32 media mnt
opt proc root run sbin srv sys tmp usr var

Agora, vamos criar um arquivo de amostra chamado arquivo.txt dentro do diretório / data com o seguinte comando:

echo "Este é um arquivo de teste!"> / dados / arquivo.TXT

Saia do contêiner com o seguinte comando:

saída

Inicie o mesmo contêiner novamente com o seguinte comando:

docker container iniciar volumecontainer

Em seguida, anexe o contêiner em execução com o seguinte comando:

docker exec -it volumecontainer / bin / bash

Verifique se o seu arquivo.txt é persistente com o seguinte:

dados / arquivo cat.TXT

Você deve obter a seguinte saída após inserir o comando acima:

Este é um arquivo de teste!

Compartilhar dados entre contêineres

Você também pode compartilhar dados entre vários contêineres usando o volume do Docker.

Como você sabe, criamos um volume denominado myvolume, um novo contêiner denominado volumecontainer usando este volume. Também criamos um arquivo chamado arquivo.txt dentro do volume.

Agora, criaremos outro contêiner denominado volumecontainer1 com o mesmo volume myvolume usando o seguinte comando:

docker run -it --name = volumecontainer1 --mount source = myvolume, destination = / data ubuntu

Execute o comando ls, conforme mostrado abaixo:

ls

Você deve ver o diretório de dados na seguinte saída:

bin boot dados dev etc home lib lib32 lib64 libx32
media mnt opt ​​proc root execute sbin srv sys tmp usr var

Execute o seguinte comando para verificar o arquivo.TXT:

cat / data / file.TXT

Você deve ver o mesmo conteúdo que criou no contêiner anterior:

Este é um arquivo de teste!

Monte o diretório como um volume

Você pode usar o diretório localizado dentro de seu sistema host Docker como um volume e montá-lo no contêiner. Você também pode usar a opção -v para fazer o mesmo, conforme mostrado abaixo:

docker run -v "directory_name": volume_name docker_image

Crie um diretório chamado / data dentro do host Docker com o seguinte comando:

mkdir / Data

Em seguida, crie alguns arquivos dentro do diretório / Data:

cd / dados
toque no arquivo 1.arquivo txt 2.arquivo txt 3.TXT

Crie um novo contêiner usando o diretório / Data como um volume com o seguinte comando:

docker run -it --name = data1 -v / Data: / Data ubuntu

Este comando criará um novo contêiner e montará o volume com o nome / Data.

Execute o seguinte comando para verificar o conteúdo do diretório / Data:

ls -l / Data /

Você deve ver todos os arquivos que criamos anteriormente no sistema host, conforme mostrado abaixo:

total 0
-rw-r - r-- 1 root root 0 Set 12 05:41 file1.TXT
-rw-r - r-- 1 root root 0 Set 12 05:41 file2.TXT
-rw-r - r-- 1 root root 0 Set 12 05:41 file3.TXT

Remover volume do Docker

Você pode excluir ou remover facilmente o volume usando a seguinte sintaxe:

docker volume rm volume-name

Por exemplo, para remover o volume denominado myvolume, execute o seguinte comando:

volume docker rm myvolume

Você deve obter o seguinte erro:

Resposta de erro do daemon: remove myvolume:
o volume está em uso - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]

Isso ocorre porque o seu volume é usado pelo contêiner. Então, você precisará parar e remover o recipiente antes de remover o volume.

Para interromper e remover o contêiner, execute o seguinte comando:

docker container stop volumecontainer volumecontainer1
docker container rm volumecontainer volumecontainer1

Agora, você pode remover facilmente o volume.

Conclusão

No guia acima, você aprendeu o que é o volume do Docker, como criá-lo e como montá-lo dentro do contêiner. Você também aprendeu como compartilhar dados entre vários contêineres usando o volume.

AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...
O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...
Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...