ネットワークドライブをボリュームとしてマウントしようとしています。これは私が試しているコマンドです
docker run -v //NetworkDirectory/Folder:/data Alpine ls /data
Windowsでこのコマンドを実行していますが、データディレクトリが空になっています。このネットワークディレクトリをWindowsホスト上のボリュームとしてマウントし、コンテナー内でそれにアクセスするにはどうすればよいですか?
ローカルディレクトリの操作は問題なく機能するため、次のコマンドは期待どおりに機能します。
docker run -v c:/Users/:/data Alpine ls /data
ローカルディレクトリにcifs-utilsで共有をマウントし、そのディレクトリをボリュームとして使用できるため、Linuxで動作させることができます。
編集:これは不可能のようです: Docker for Windows(Windows 10)でネットワークボリュームをマウントする方法
私の同僚はこれを思い付きました、そしてそれは私たちの会社のネットワークドライブで動作し、それはそこにいる誰かを助けるかもしれません。
まず、mydockervolume
という名前のDockerボリュームを作成します。
docker volume create --driver local --opt type=cifs --opt device=//networkdrive-ip/Folder --opt o=user=yourusername,domain=yourdomain,password=yourpassword mydockervolume
--driver
はボリュームドライバー名を指定します--opt
ドライバ固有のオプションを設定します。コンテナーの起動時にlinux mount
コマンドに渡されると思います。次に、ボリュームが動作することをテストできますdocker run -v mydockervolume:/data Alpine ls /data
DockerにネイティブCIFSストレージドライバーが見つかりませんでした。
次のような外部ボリュームプラグインを使用できます。 https://github.com/ContainX/docker-volume-netshare NFS、AWS EFS、Samba/CIFSをサポートします