GNU/Linux >> Tutoriales Linux >  >> Linux

Monte el recurso compartido SMB/CIFS dentro de un contenedor Docker

Sí, Docker le impide montar un volumen remoto dentro del contenedor como medida de seguridad. Si confía en sus imágenes y en las personas que las ejecutan, puede usar el --privileged marcar con docker run para deshabilitar estas medidas de seguridad.

Además, puede combinar --cap-add y --cap-drop para darle al contenedor solo las capacidades que realmente necesita. (Ver documentación) El SYS_ADMIN La capacidad es la que otorga privilegios de montaje.


  1. Hay un problema cerrado mount.cifs dentro de un contenedor

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

según el cual sumando

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

a las opciones de ejecución hará que mount -t cifs sea operativo.

Lo probé y:

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

dentro del contenedor entonces funciona


Podrías usar el smbclient comando (parte del paquete Samba) para acceder al servidor SMB/CIFS desde el contenedor Docker sin montarlo, de la misma manera que podría usar curl para descargar o cargar un archivo.

Hay una pregunta sobre StackExchange Unix que se ocupa de esto, pero en resumen:

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

Para múltiples archivos existe el -T opción que puede crear o extraer .tar archivos, sin embargo, parece que sería un proceso de dos pasos (uno para crear el .tar y luego otro para extraerlo localmente). No estoy seguro de si podría usar una tubería para hacerlo en un solo paso.


Linux
  1. ¿Cómo habilitar los permisos de archivos Unix en Samba Share con Smb 2.0+?

  2. ¿Cómo hacer que un montaje Cifs/smb ignore Umask?

  3. ¿Actualizar Ubuntu dentro de Docker de 14.04 a 16.04 usando Do-release-upgrade?

  4. ¿Cómo ejecutar Nginx dentro de un contenedor Docker sin detenerse?

  5. Docker en Docker no puede montar el volumen

Cómo montar un recurso compartido NFS en Linux

Cómo montar Windows Share en Linux usando CIFS

Cómo montar Windows Share en Ubuntu Linux

Cómo conectarse a Localhost dentro de un contenedor Docker

Cómo usar SSH en un contenedor Docker

Cómo gestionar contenedores Docker