[解決済み] コンテナ上でローカルファイルを使用するには?
質問
私はプログラムを実行するためにコンテナを作成しようとしています。私は事前に設定されたイメージを使用しており、今私はプログラムを実行する必要があります。しかし、それは機械学習プログラムであり、私は実行するために私のコンピュータからデータセットが必要です。
ファイルが大きすぎて、コンテナにコピーできません。コンテナで実行中のプログラムが、私のコンピュータのローカル ディレクトリにあるデータセットを検索できればベストなのですが、これをどのように実行すればよいのかわかりません。
このリファレンスを何らかのDockerコマンドで行う方法はありますか?もしくはDockerfileを使用する方法はありますか?
どのように解決するのでしょうか?
はい、できます。説明されているのは、バインドマウントです。以下を参照してください。 https://docs.docker.com/storage/bind-mounts/ を参照してください。
例えば、ホームディレクトリにあるフォルダを
/mnt/mydata
をコンテナ内にマウントしたい場合、それができます。
docker run -v /Users/andy/mydata:/mnt/mydata myimage
今すぐ
/mnt/mydata
にアクセスできるようになり、コンテナ内の
/Users/andy/mydata
にアクセスできるようになります。
Docker for MacまたはDocker for Windowsを使用している場合、デフォルトで許可されるホスト上の特定のディレクトリがあることに留意してください。
MacまたはWindowsでDocker Machineを使用している場合、Docker EngineデーモンはmacOSまたはWindowsのファイルシステムに対して限られたアクセスしかできません。Docker Machineは、/Users (macOS)またはC:the \Users (Windows)ディレクトリを自動で共有しようと試みます。そのため、macOS上でファイルやディレクトリをマウントするには、以下のようにします。
2019年7月に更新しました。
ドキュメントのリンクとネーミングが正しくなるように更新しました。これらのタイプのマウントは、"bind mounts" と呼ばれます。Mac または Windows 用の Docker に関するスニペットは、もはやドキュメントに表示されませんが、まだ適用できるはずです。なぜ削除されたのかはわかりません (私の Mac 用 Docker には、ホスト上で許可されるマウント パスの明示的なリストがあります)。
関連
-
[解決済み】Dockerのビルドコンテキスト外のファイルをインクルードする方法とは?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] ライブDockerコンテナでポートを公開する
-
[解決済み] dockerコンテナ内でsudoを使用するには?
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerコンテナからホストポートにアクセスする方法
-
[解決済み] dockerのホストOSとコンテナのベースイメージOSの関係を教えてください。
-
[解決済み] Dockerのデタッチドモード
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] docker イメージの sha256 コードはどこで確認できますか?
-
[解決済み] Docker compose、net:hostでコンテナを実行する。
-
[解決済み] Alpine Dockerfile --no-cache Vs. rm /var/cache/apk/* の利点。
-
[解決済み] Kubernetesのローカル開発環境を構築する方法とは?
-
[解決済み] Dockerfileに複数行のコマンドを改行を維持したまま記述する方法とは?
-
[解決済み] Linuxでdockerを停止する方法
-
[解決済み] CentOS7 と docker devmapper でのスペース問題
-
[解決済み] すべてのdockerボリュームを削除するには?
-
[解決済み] docker-compose build` と `docker build` の違いは何ですか?
-
[解決済み] docker-composeで起動した実行中のコンテナにリンクできない