O que é o Docker Bind Mounts?

O Que E O Docker Bind Mounts



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 -v : ” e execute um contêiner. Ele vincula o diretório de montagem da máquina host ao contêiner:



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:

ls



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.