Cos'è il bind Docker Bind?

Cos'è il bind Docker Bind?

Mentre lavorano su un progetto di sviluppo in Docker, gli sviluppatori di solito vogliono apportare modifiche al codice e vedere le modifiche riflesse immediatamente senza ricostruire il contenitore. In questa situazione, utilizzare un supporto di bind per montare la directory del codice sulla macchina host locale nel contenitore. In tal modo, le modifiche apportate sull'host si riflettono immediatamente all'interno del contenitore. Inoltre, è utile quando il contenitore viene eliminato o rifiutato poiché i dati non vengono persi.

Questo articolo illustrerà:

    • Cos'è il bind Docker Bind?
    • Come il bind mount lavora in Docker?

Cos'è il bind Docker Bind?

Un mount Docker Bind consente agli utenti di mappare un particolare file/directory sul computer host su un file/directory all'interno di un contenitore. In questo modo, gli utenti possono condividere i dati tra l'host e il contenitore, e persistere anche i dati anche dopo che il contenitore è stato arrestato o eliminato. Eventuali modifiche apportate ai file nella directory o nel file condivisa sono visibili sia dal contenitore che dal computer host.

Come il bind mount lavora in Docker?

Facciamo un esempio e vediamo come funziona Bind-Mount in Docker. Supponiamo di avere una directory vuota "Test" situato in "C: \ Docker"Su un sistema locale. Ora vogliamo accedere al "Test"Contenuto della directory nella posizione"/App"Dall'interno di un particolare contenitore. In questo esempio, esegui un contenitore dall'immagine ufficiale Docker I.e., "nginx"E utilizzare il supporto di bind per montare una directory specifica dalla macchina host nel contenitore.

Per una migliore comprensione, segui i passaggi forniti.

Passaggio 1: Bind Mount Directory dalla macchina host al contenitore

Innanzitutto, utilizza il “Docker run -d -name -v: "Comando ed esegui un contenitore. Lega la directory di montaggio dalla macchina host al contenitore:

Docker run -d --name mycont -v c:/docker/test:/app nginx: ultimo


Qui:

    • "-D"L'opzione viene utilizzata per eseguire il contenitore in background.
    • "-nome"Viene utilizzato per definire il nome del contenitore.
    • "Mycont"È il nostro nome del contenitore.
    • "-v"L'opzione crea un volume nel contenitore che mappa la directory di origine sulla macchina host nella directory di destinazione nel contenitore.
    • "C:/Docker/Test"È il percorso della directory di origine (macchina locale).
    • "/App"È il percorso della directory target (contenitore).
    • "Nginx: ultimo"È l'ultima immagine Docker:



Questo comando ha creato un contenitore e gli ha permesso di accedere ai file dalla macchina host e semplificare la gestione della persistenza dei dati.

Passaggio 2: creare un file nella directory di origine sulla macchina host

Quindi, navigare sul percorso della directory di origine I.e., "C:/Docker/Test"Sul macchina host e crea un file di testo semplice. Ad esempio, abbiamo creato un "Demo" file:


Passaggio 3: accedere al file della macchina host all'interno del contenitore

Ora, digita il comando sotto fornito per accedere al contenuto del contenitore ed eseguire i comandi al suo interno:

Docker Exec -it MyCont Bash



In tal modo, si aprirà il guscio del contenitore.

Successivamente, elenca il contenuto del contenitore utilizzando il comando fornito:

ls



Nello screenshot sopra, tutto il contenuto del contenitore può essere visto. Scegli la directory desiderata e naviga su di essa.

Reindirizzarsi al "app"Directory:

App CD


Quindi, elenca il “app"Il contenuto della directory per verificare il file della macchina locale è disponibile in esso:

ls



Si può osservare che il "Demo.TXT"Il file è disponibile all'interno del contenitore e possiamo accedervi.

Passaggio 4: creare file all'interno del contenitore

Quindi, crea un altro file all'interno di un contenitore usando "tocco"Comando:

Tocca Nuovo.TXT



Abbiamo creato un “nuovo.TXT" file.

Quindi, verifica il file appena creato utilizzando il comando sotto l'elenco:

ls



Si può vedere che il file "nuovo.TXT"È stato creato con successo all'interno del contenitore.

Passaggio 5: verificare il file sul sistema locale

Infine, vai al percorso della macchina locale e controlla se "nuovo.TXT"Il file è disponibile o no:


Come puoi vedere, il "nuovo.TXT"Il file è disponibile sulla macchina locale e possiamo accedervi. Ciò indica che le modifiche si riflettono anche sulla macchina locale.

Passaggio 6: rimuovere il contenitore Docker

Ora rimuovi il contenitore tramite "Docker Rm"Comando insieme al nome del contenitore:

Docker RM Mycont



IL "Mycont"Il container è stato eliminato con successo.

Passaggio 7: assicurarsi che i dati persistano sulla macchina locale

Dopo aver eliminato il contenitore, verificare se i dati persistevano sulla macchina locale non:


Come puoi vedere, le modifiche sono persistite anche dopo aver eliminato il contenitore a montaggio di legami.

Conclusione

Docker Bind Mount viene utilizzato per mappare una directory o un file dal sistema host nel contenitore. Crea un collegamento tra la directory o il file specificato sull'host e il filesystem del contenitore. Rende facile e semplice trattare o funzionare con file che sono archiviati al di fuori del contenitore. Eventuali modifiche apportate ai file nella directory o nel file condivisa verranno riflesse sia nell'host che nel contenitore. Questo articolo ha spiegato su Docker Bind Mount e il suo lavoro in Docker.