GNU/Linux >> Linux Esercitazione >  >> Linux

Monta la condivisione SMB/CIFS all'interno di un container Docker

Sì, Docker ti impedisce di montare un volume remoto all'interno del container come misura di sicurezza. Se ti fidi delle tue immagini e delle persone che le gestiscono, allora puoi usare --privileged flag con docker run per disabilitare queste misure di sicurezza.

Inoltre, puoi combinare --cap-add e --cap-drop per fornire al contenitore solo le funzionalità di cui ha effettivamente bisogno. (Vedi documentazione) Il SYS_ADMIN la capacità è quella che garantisce i privilegi di montaggio.


  1. C'è un problema chiuso mount.cifs all'interno di un contenitore

https://github.com/docker/docker/issues/22197

in base a quale aggiunta

--cap-add SYS_ADMIN --cap-add DAC_READ_SEARCH

alle opzioni run renderà operativo mount -t cifs.

L'ho provato e:

mount -t cifs //<host>/<path> /<localpath> -o user=<user>,password=<user>

all'interno del contenitore allora funziona


Potresti usare il smbclient comando (parte del pacchetto Samba) per accedere al server SMB/CIFS dall'interno del contenitore Docker senza montarlo, nello stesso modo in cui potresti usare curl per scaricare o caricare un file.

C'è una domanda su StackExchange Unix che si occupa di questo, ma in breve:

smbclient //server/share -c 'cd /path/to/file; put myfile'

Per più file c'è il -T opzione che può creare o estrarre .tar archivi, tuttavia questo sembra essere un processo in due passaggi (uno per creare il .tar e poi un altro per estrarlo localmente). Non sono sicuro se potresti usare una pipa per farlo in un solo passaggio.


Linux
  1. Debian – Cifs perde casualmente la connessione alla condivisione di Windows?

  2. Come fare in modo che un supporto Cifs/smb ignori Umask?

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

  4. Come eseguire Nginx all'interno di un contenitore Docker senza interruzioni?

  5. Docker in Docker non può montare il volume

Come montare una condivisione NFS in Linux

Come montare Windows Share su Linux usando CIFS

Come montare Windows Share su Ubuntu Linux

Come connettersi a Localhost all'interno di un contenitore Docker

Come SSH in un Docker Container

Come gestire i container Docker