GNU/Linux >> Linux の 問題 >  >> Linux

SMB/CIFS 共有を Docker コンテナー内にマウントする

はい、Docker は、セキュリティ対策としてコンテナー内にリモート ボリュームをマウントすることを妨げています。イメージとそれを実行する人を信頼できる場合は、 --privileged を使用できます docker run のフラグ これらのセキュリティ対策を無効にします。

さらに、 --cap-add を組み合わせることができます と --cap-drop 実際に必要な機能のみをコンテナーに提供します。 (ドキュメントを参照) SYS_ADMIN ケイパビリティは、マウント権限を付与するものです。


<オール>
  • はい
  • 終了した問題 コンテナ内の mount.cifs があります
  • https://github.com/docker/docker/issues/22197

    追加によると

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

    実行オプションに追加すると、mount -t cifs が動作するようになります。

    私はそれを試してみました:

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

    コンテナ内で動作します


    smbclient を使用できます curl を使用するのと同じ方法で、マウントせずに Docker コンテナー内から SMB/CIFS サーバーにアクセスするためのコマンド (Samba パッケージの一部)。 ファイルをダウンロードまたはアップロードします。

    これを扱う StackExchange Unix に関する質問がありますが、要するに:

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

    複数のファイルには -T があります .tar を作成または抽出できるオプション ただし、これは 2 段階のプロセスになるようです (1 つは .tar を作成するためのプロセスです)。 次に、ローカルで抽出するために別のものを使用します)。パイプを使って 1 ステップでできるかどうかわかりません.


    Linux
    1. Debian – CifsはWindows共有への接続をランダムに失いますか?

    2. Smb 2.0以降とのSamba共有でUnixファイルのアクセス許可を有効にする方法は?

    3. Do-release-upgradeを使用してDocker内のUbuntuを14.04から16.04にアップグレードしますか?

    1. Dockerの概要

    2. 停止せずに Docker コンテナ内で Nginx を実行する方法は?

    3. Kerberos チケットを使用して Samba 共有をマウントする

    1. Cifs / smbマウントでUmaskを無視する方法は?

    2. ホストディレクトリをDockerコンテナにマウントする方法

    3. Dockerコンテナ間でデータを共有する方法