Cosa sono i supporti Docker Bind?

Cosa Sono I Supporti Docker Bind



Mentre lavorano a 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 bind mount per montare la directory del codice sul computer host locale nel contenitore. In tal modo, le modifiche apportate all'host vengono immediatamente riflesse all'interno del contenitore. Inoltre, è utile quando il contenitore viene eliminato o rifiutato in quanto i dati non vengono persi.

Questo articolo illustrerà:







Cosa sono i supporti Docker Bind?

Un montaggio di bind Docker consente agli utenti di mappare un particolare file/directory sul computer host a un file/directory all'interno di un contenitore. In questo modo, gli utenti possono condividere i dati tra l'host e il contenitore e conservare i dati anche dopo che il contenitore è stato arrestato o eliminato. Qualsiasi modifica apportata ai file nella directory o nel file condiviso è visibile sia dal contenitore che dal computer host.



Come funziona Bind Mount 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 Docker ufficiale, ad esempio ' nginx ” e utilizzare il bind mount per montare una directory specifica dalla macchina host nel contenitore.



Per una migliore comprensione, seguire i passaggi forniti.





Passaggio 1: associare la directory di montaggio dalla macchina host al contenitore

Innanzitutto, utilizza il ' docker run -d –name -v : ” comanda ed esegue un contenitore. Collega la directory di montaggio dalla macchina host al contenitore:



corsa del docker -D --nome mioCont -In C: / Docker / Test: / app nginx: più recente


Qui:

    • -D L'opzione ” viene utilizzata per eseguire il contenitore in background.
    • -nome ” viene utilizzato per definire il nome del contenitore.
    • mioCont ' è il nome del nostro contenitore.
    • -In L'opzione ” crea un volume nel contenitore che associa la directory di origine sulla macchina host alla directory di destinazione nel contenitore.
    • C:/Docker/Test ” è il percorso della directory di origine (macchina locale).
    • /app ” è il percorso della directory di destinazione (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 sul computer host

Quindi, vai al percorso della directory di origine, ad esempio ' C:/Docker/Test ” sul computer host e creare un file di testo semplice al suo interno. Ad esempio, abbiamo creato un ' Demo ' file:


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

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

docker esec -Esso mioCont bash



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

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

ls



Nello screenshot sopra, è possibile vedere tutto il contenuto del contenitore. Scegli la directory desiderata e naviga verso di essa.

Reindirizza al ' app 'cartella:

CD app


Quindi, elenca il ' app ” il contenuto della directory per verificare che il file della macchina locale sia disponibile al suo interno:

ls



Si può osservare che il “ Demo.txt ” è disponibile all'interno del contenitore e possiamo accedervi.

Passaggio 4: crea file all'interno del contenitore

Quindi, crea un altro file all'interno di un contenitore utilizzando il ' tocco comando:

tocco nuovo.txt



Abbiamo creato un “ nuovo.txt ' file.

Quindi, verifica il file appena creato utilizzando il comando elencato di seguito:

ls



Si può vedere che il file “ nuovo.txt ” è stato creato correttamente all'interno del contenitore.

Passaggio 5: verifica del file sul sistema locale

Infine, vai al percorso della macchina locale e controlla se ' nuovo.txt ” il file è disponibile o meno:


Come puoi vedere, il “ nuovo.txt ” è disponibile sul computer 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 il ' docker rm ” insieme al nome del contenitore:

docker rm mioCont



IL ' mioCont 'il contenitore è stato eliminato correttamente.

Passaggio 7: assicurarsi che i dati persistano sul computer locale

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


Come puoi vedere, le modifiche sono persistite anche dopo l'eliminazione del contenitore bind-mount.

Conclusione

Docker bind mount viene utilizzato per mappare una directory o un file dal sistema host al contenitore. Crea un collegamento tra la directory o il file specificato sull'host e il file system del contenitore. Rende facile e semplice gestire o lavorare con file archiviati all'esterno del contenitore. Qualsiasi modifica apportata ai file nella directory o nel file condiviso si rifletterà sia nell'host che nel contenitore. Questo articolo ha spiegato il montaggio del binding Docker e il suo funzionamento in Docker.