GNU/Linux >> Tutoriels Linux >  >> Linux

Monter le partage SMB/CIFS dans un conteneur Docker

Oui, Docker vous empêche de monter un volume distant à l'intérieur du conteneur par mesure de sécurité. Si vous faites confiance à vos images et aux personnes qui les exécutent, vous pouvez utiliser le --privileged drapeau avec docker run pour désactiver ces mesures de sécurité.

De plus, vous pouvez combiner --cap-add et --cap-drop pour donner au conteneur uniquement les capacités dont il a réellement besoin. (Voir documentation) Le SYS_ADMIN est celle qui accorde les privilèges de montage.


  1. oui
  2. Il existe un problème résolu mount.cifs dans un conteneur

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

selon lequel ajouter

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

aux options d'exécution rendra mount -t cifs opérationnel.

J'ai essayé et :

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

dans le conteneur fonctionne alors


Vous pouvez utiliser le smbclient commande (partie du package Samba) pour accéder au serveur SMB/CIFS depuis le conteneur Docker sans le monter, de la même manière que vous pourriez utiliser curl pour télécharger ou charger un fichier.

Il y a une question sur StackExchange Unix qui traite de cela, mais en bref :

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

Pour plusieurs fichiers, il y a le -T option qui peut créer ou extraire .tar archives, mais cela semble être un processus en deux étapes (une pour créer le .tar puis un autre pour l'extraire localement). Je ne sais pas si vous pourriez utiliser un tuyau pour le faire en une seule étape.


Linux
  1. Comment activer les autorisations de fichiers Unix sur le partage Samba avec Smb 2.0+ ?

  2. Comment faire pour qu'un montage Cifs/smb ignore Umask ?

  3. Mettre à niveau Ubuntu dans Docker de 14.04 à 16.04 à l'aide de Do-release-upgrade ?

  4. Une introduction à Docker

  5. Comment monter ou lier symboliquement un seul fichier dans un conteneur Docker

Comment monter un partage NFS sous Linux

Comment monter le partage Windows sur Linux à l'aide de CIFS

Comment monter le partage Windows sur Ubuntu Linux

Comment se connecter à Localhost dans un conteneur Docker

Comment se connecter en SSH à un conteneur Docker

Comment gérer les conteneurs Docker