Ao trabalhar em um projeto de desenvolvimento no Docker, os desenvolvedores geralmente desejam fazer modificações no código e ver as alterações refletidas imediatamente sem reconstruir o contêiner. Nessa situação, use uma montagem de ligação para montar o diretório de código em sua máquina host local no contêiner. Ao fazer isso, as modificações feitas no host são imediatamente refletidas no contêiner. Além disso, é útil quando o contêiner é excluído ou rejeitado, pois os dados não são perdidos.
Este artigo irá ilustrar:
O que é o Docker Bind Mounts?
Uma montagem de ligação do Docker permite que os usuários mapeiem um arquivo/diretório específico na máquina host para um arquivo/diretório dentro de um contêiner. Dessa forma, os usuários podem compartilhar dados entre o host e o contêiner e também manter os dados mesmo depois que o contêiner for interrompido ou excluído. Quaisquer alterações feitas em arquivos no diretório ou arquivo compartilhado são visíveis no contêiner e na máquina host.
Como o Bind Mount funciona no Docker?
Vamos dar um exemplo e ver como o bind-mount funciona no Docker. Suponha que temos um diretório vazio “ Teste ' localizado em ' C:\Docker ” em um sistema local. Agora, queremos acessar o “ Teste ” conteúdo do diretório no local “ /aplicativo ” de dentro de um contêiner específico. Neste exemplo, execute um contêiner da imagem oficial do Docker, ou seja, “ nginx ” e utilize a montagem de ligação para montar um diretório específico da máquina host no contêiner.
Para uma melhor compreensão, siga os passos fornecidos.
Etapa 1: vincular o diretório de montagem da máquina host ao contêiner
Primeiro, utilize o “ docker run -d –name
docker run -d --nome meuCont -em C: / Docker / Teste: / aplicativo nginx:mais recente
Aqui:
-
- “ -d ” é usada para executar o contêiner em segundo plano.
- “ -nome ” é usado para definir o nome do contêiner.
- “ meuCont ” é o nome do nosso contêiner.
- “ -em ” cria um volume no contêiner que mapeia o diretório de origem na máquina host para o diretório de destino no contêiner.
- “ C:/Docker/Teste ” é o caminho do diretório de origem (máquina local).
- “ /aplicativo ” é o caminho do diretório de destino (contêiner).
- “ nginx:mais recente ” é a imagem mais recente do Docker:
Este comando criou um contêiner e permitiu que ele acessasse arquivos da máquina host e facilitou o gerenciamento da persistência de dados.
Etapa 2: criar um arquivo no diretório de origem na máquina host
Em seguida, navegue até o caminho do diretório de origem, ou seja, “ C:/Docker/Teste ” na máquina host e crie um arquivo de texto simples nela. Por exemplo, criamos um “ Demonstração ' arquivo:
Etapa 3: acessar o arquivo da máquina host dentro do contêiner
Agora, digite o comando fornecido abaixo para acessar o conteúdo do contêiner e executar comandos dentro dele:
janela de encaixe executivo -isto meuCont bash
Ao fazer isso, o invólucro do contêiner será aberto.
Depois disso, liste o conteúdo do contêiner usando o comando fornecido:
ls
Na captura de tela acima, todo o conteúdo do contêiner pode ser visto. Escolha o diretório desejado e navegue até ele.
Redirecionar para o “ aplicativo ” diretório:
cd aplicativo
Em seguida, liste os “ aplicativo ” conteúdo do diretório para verificar se o arquivo da máquina local está disponível nele:
Pode-se observar que o “ Demo.txt ” está disponível dentro do contêiner e podemos acessá-lo.
Etapa 4: criar arquivo dentro do contêiner
Em seguida, crie outro arquivo dentro de um contêiner usando o “ tocar ” comando:
tocar novo.txt
Criamos um “ novo.txt ' arquivo.
Em seguida, verifique o arquivo recém-criado usando o comando listado abaixo:
ls
Pode-se ver que o arquivo “ novo.txt ” foi criado com sucesso dentro do contêiner.
Etapa 5: verificar o arquivo no sistema local
Por fim, navegue até o caminho da máquina local e verifique se o “ novo.txt ” está disponível ou não:
Como você pode ver, o “ novo.txt ” está disponível na máquina local e podemos acessá-lo. Isso indica que as modificações também são refletidas na máquina local.
Etapa 6: remover o contêiner do Docker
Agora, remova o recipiente através do “ docker rm ” junto com o nome do contêiner:
janela de encaixe rm meuCont
O ' meuCont ” O contêiner foi excluído com sucesso.
Etapa 7: garantir que os dados persistam na máquina local
Depois de excluir o contêiner, verifique se os dados persistiram na máquina local em não:
Como você pode ver, as alterações persistiram mesmo após a exclusão do contêiner de montagem de ligação.
Conclusão
A montagem de ligação do Docker é usada para mapear um diretório ou arquivo do sistema host para o contêiner. Ele cria um link entre o diretório ou arquivo especificado no host e o sistema de arquivos do contêiner. Isso torna fácil e simples lidar ou trabalhar com arquivos armazenados fora do contêiner. Quaisquer alterações feitas em arquivos no diretório ou arquivo compartilhado serão refletidas no host e no contêiner. Este artigo explicou sobre a montagem de ligação do Docker e seu funcionamento no Docker.