O que é o Docker Bind Mounds?

O que é o Docker Bind Mounds?

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?
    • Como o mount bind funciona no Docker?

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:

    • ““-d”A opção é usada para executar o contêiner em segundo plano.
    • ““-nome”É usado para definir o nome do contêiner.
    • ““mycont”É o nome do nosso contêiner.
    • ““-v”A opção 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 última imagem do Docker:



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.