GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come montare o collegare simbolicamente un singolo file in un contenitore Docker

Il volume Docker e i montaggi di binding vengono utilizzati per associare le directory sul sistema operativo host alle posizioni nel file system del contenitore. Sebbene siano comunemente usati per montare intere directory, puoi anche usarli per collegare simbolicamente singoli file.

Collegamento simbolico a Docker dall'host

Il montaggio di intere directory funziona bene se stai sovrascrivendo un intero elenco di file di configurazione, ma se vuoi solo sceglierne uno di destinazione, dovrai utilizzare un montaggio a file singolo. Questo è utile anche se vuoi avere più mount nella stessa directory, ma da posizioni diverse. Funziona in modo molto simile a un normale collegamento simbolico Linux, tranne per il fatto che viene gestito tramite Docker e attraversa il ponte tra il file system host e container.

I normali montaggi del volume Docker richiedono il montaggio su una directory di destinazione , all'interno del quale verrà collegato il volume.

docker volume create nginx-config

docker run -d 
--name devtest 
--mount source=nginx-config,target=/etc/nginx 
nginx:latest

Tuttavia, con i montaggi bind, l'origine può essere una directory o un file sull'ospite. I montaggi di volume non lo supportano e, sebbene tu voglia usarli di solito, devi usare i montaggi di collegamento di livello inferiore se vuoi montare file singoli.

Per fare ciò, puoi eseguire il contenitore con il flag --mount type=bind , che supportano i singoli file se specifichi il percorso:

docker run -it 
--mount type=bind,source=/path/file.cfg,target=/etc/example/file.cfg 
nginx sh

In alternativa, se desideri davvero utilizzare i volumi Docker, puoi creare un volume con solo il file che intendi montare, montarlo in una directory temporanea nel contenitore e quindi creare un collegamento simbolico effettivo all'interno del contenitore (nello script di compilazione Docker ) che si collegherebbe alla directory temporanea con il file. Questa è probabilmente una soluzione peggiore di un montaggio di collegamento in generale, ma ti consente di archiviare i dati tramite l'API del volume Docker.


Docker
  1. Come installare WordPress utilizzando Docker

  2. Come montare una directory host in un contenitore Docker

  3. Come eseguire un comando su un contenitore Docker in esecuzione

  4. Come assegnare un IP statico a un contenitore Docker

  5. Come elencare i contenitori Docker

Come collegare simbolicamente un file in Linux

Cos'è Docker? Come funziona?

Come eseguire PHPMyAdmin in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come configurare un container Docker Apache

Come eseguire i contenitori Docker