Enquanto trabalha em um projeto de desenvolvimento no Docker, os desenvolvedores geralmente querem fazer modificações no código e ver as alterações refletidas imediatamente sem reconstruir o contêiner. Nesta situação, use um suporte de ligação para montar o diretório de código em sua máquina hospedeira local no contêiner. Ao fazer isso, as modificações feitas no host são imediatamente refletidas dentro do recipiente. Além disso, é útil quando o contêiner é excluído ou rejeitado, pois os dados não são perdidos.
Este artigo ilustrará:
O que é o Docker Bind Mounds?
Um Docker Bind Mount permite que os usuários mapeie 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 persistir os dados mesmo depois que o contêiner é interrompido ou excluído. Quaisquer alterações feitas nos arquivos no diretório ou arquivo compartilhado são visíveis do contêiner e da máquina host.
Como o mount bind funciona no Docker?
Vamos dar um exemplo e ver como a montagem de ligação funciona no Docker. Suponha que tenhamos 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 determinado contêiner. Neste exemplo, execute um contêiner da imagem oficial do Docker I.e., ““nginx”E utilize a montagem de ligação para montar um diretório específico da máquina host para o recipiente.
Para uma melhor compreensão, siga as etapas fornecidas.
Etapa 1: Ligue o diretório de montagem da máquina host para o contêiner
Primeiro, utilize o “Docker Run -d -name -v: ”Comando e execute um contêiner. Ele liga o diretório de montagem da máquina host ao recipiente:
Docker Run -d - -name mycont -v c:/docker/teste:/app nginx: mais recente
Aqui:
Este comando criou um contêiner e permitiu acessar arquivos da máquina host e facilitar o gerenciamento da persistência de dados.
Etapa 2: Crie um arquivo no diretório de origem na máquina host
Então, navegue até o caminho do diretório de origem i.e., ““C:/docker/teste”Na máquina host e crie um arquivo de texto sem formatação. Por exemplo, criamos um “Demonstração" arquivo:
Etapa 3: Acesse o arquivo da máquina host dentro do contêiner
Agora, digite o comando abaixo fornecido para acessar o conteúdo do contêiner e executar comandos dentro dele:
Docker Exec -is MyCont Bash
Ao fazer isso, a concha de contêiner será aberta.
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 para ele.
Redirecionar para o “aplicativo”Diretório:
CD App
Então, liste o “aplicativo”Conteúdo do diretório para verificar se o arquivo da máquina local está disponível:
ls
Pode -se observar que o “Demonstração.TXT”O arquivo está disponível dentro do contêiner, e podemos acessá -lo.
Etapa 4: Crie arquivo dentro do contêiner
Em seguida, crie outro arquivo dentro de um contêiner usando o “tocar”Comando:
toque novo.TXT
Nós criamos um “novo.TXT" arquivo.
Em seguida, verifique o arquivo recém-criado usando o comando abaixo da lista abaixo:
ls
Pode -se ver que o arquivo “novo.TXT”Foi criado com sucesso dentro do contêiner.
Etapa 5: Verifique o arquivo no sistema local
Por fim, navegue até o caminho da máquina local e verifique se “novo.TXT”O arquivo está disponível ou não:
Como você pode ver, o “novo.TXT”O arquivo está disponível na máquina local e podemos acessá -lo. Isso indica que as modificações são refletidas na máquina local também.
Etapa 6: Remova o contêiner do docker
Agora, remova o recipiente através do “Docker RM”Comando junto com o nome do contêiner:
Docker RM MyCont
O "mycont”O contêiner foi excluído com sucesso.
Etapa 7: Verifique se os dados persistiram na máquina local
Depois de excluir o contêiner, verifique se os dados persistiram na máquina local não:
Como você pode ver, as mudanças persistiram mesmo após a exclusão do contêiner de montagem de ligação.
Conclusão
O suporte de ligação do docker é usado 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 de lidar ou trabalhar com arquivos que são armazenados fora do contêiner. Quaisquer alterações feitas nos arquivos no diretório ou arquivo compartilhado serão refletidas no host e no contêiner. Este artigo explicou sobre o Docker Bind Mount e seu trabalho no Docker.