GNU/Linux >> Znalost Linux >  >> Linux

Připojte sdílenou složku SMB/CIFS v rámci kontejneru Docker

Ano, Docker vám z bezpečnostních důvodů brání v připojení vzdáleného svazku do kontejneru. Pokud důvěřujete svým obrázkům a lidem, kteří je provozují, můžete použít --privileged příznak s docker run k deaktivaci těchto bezpečnostních opatření.

Dále můžete kombinovat --cap-add a --cap-drop dát kontejneru pouze schopnosti, které skutečně potřebuje. (Viz dokumentaci) SYS_ADMIN schopnost je ta, která uděluje oprávnění k připojení.


  1. ano
  2. Došlo k uzavřenému problému mount.cifs v kontejneru

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

podle kterého přidávání

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

do voleb run zprovozní mount -t cifs.

Vyzkoušel jsem to a:

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

uvnitř kontejneru pak funguje


Můžete použít smbclient příkaz (součást balíčku Samba) pro přístup k serveru SMB/CIFS z kontejneru Docker, aniž byste jej museli připojovat, stejným způsobem, jako byste mohli použít curl stáhnout nebo nahrát soubor.

Na StackExchange Unix existuje otázka, která se tím zabývá, ale ve zkratce:

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

Pro více souborů existuje -T možnost, která dokáže vytvořit nebo extrahovat .tar archivy, nicméně to vypadá, že by to byl dvoufázový proces (jeden k vytvoření .tar a poté další, abyste jej extrahovali lokálně). Nejsem si jistý, zda byste to mohli pomocí potrubí udělat v jednom kroku.


Linux
  1. Jak připojit nebo symbolicky propojit jeden soubor v kontejneru Docker

  2. Jak připojit hostitelský adresář do kontejneru Docker

  3. Jak opustit kontejner Docker

  1. Debian – Cifs náhodně ztrácí připojení k Windows Share?

  2. Docker v Dockeru nemůže připojit svazek

  3. Připojte sdílení Samba pomocí lístku Kerberos

  1. Jak povolit oprávnění k souborům Unix na sdílení Samba s Smb 2.0+?

  2. Upgradovat Ubuntu v rámci Dockeru z 14.04 na 16.04 pomocí Do-release-upgrade?

  3. Jak sdílet data mezi kontejnery Docker