[解決済み] docker がホスト上のボリュームをマウントする
2022-05-04 13:38:37
質問
を使用して、ボリュームを持つDockerコンテナ間でフォルダを共有することに成功しました。
docker run -v /host/path:/container/path ...
しかし、私の疑問は、これと
VOLUME
というコマンドをDockerfileに記述します。
VOLUME /path
私が使っている画像は
VOLUME
コマンドを使用して、それを私のホストと共有する方法を知りたいのです。私はそれを
-v
コマンドの両方が必要なのかどうかわかりませんでした。
-v
と
VOLUME
.
解決方法は?
その
VOLUME
コマンドは、コンテナ内のディレクトリをマウントし、そのディレクトリ内で作成または編集されたファイルをホストディスクに保存します。
コンテナのファイル構造の外側
ユニオンファイルシステムをバイパスします。
このアイデアは、Dockerコンテナ間でボリュームを共有することができ、それを参照するコンテナ(実行中または停止中)がある限り、ボリュームが存在し続けるというものです。
他のコンテナに既存のボリュームをマウントさせる (コンテナ間で効果的にボリュームを共有する) こともできます。
--volumes-from
コマンドを実行します。
との根本的な違いは
VOLUME
と
-v
はこうです。
-v
は、オペレーティングシステムの既存のファイルをドッカーコンテナ内にマウントし
VOLUME
は
新しい空のボリュームを作成します。
をホスト上に作成し、コンテナ内にマウントします。
例
-
を定義したDockerfileがあります。
VOLUME /var/lib/mysql
. -
docker イメージをビルドして、タグを付けます。
some-volume
- コンテナを実行する
そして
- このボリュームを使用したい別のドッカーイメージがある場合
-
でdockerコンテナを実行します。
docker run --volumes-from some-volume docker-image-name:tag
-
これで、Dockerコンテナが実行され、そのボリュームが
some-volume
にマウントされている/var/lib/mysql
注
--volumes-from
は、ボリュームの場所に存在するすべてのものの上にマウントします。つまり、もしあなたが
/var/lib/mysql
の場合、ボリュームの内容に置き換わります。
関連
-
[解決済み] 接続するには、Dockerクライアントを昇格して実行する必要があります。
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] Dockerでデータベースなどの永続的なストレージを扱う方法
-
[解決済み] Dockerの「expose」と「publish」の違いは何ですか?
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】FrontEnd DockerFIle.v0との解決に失敗しました。
-
[解決済み] System.InvalidOperationException: Failed to deploy distro docker-desktop to C:\UserslenovaAppDataLocal╱distro: exit code: -1
-
[解決済み] Docker Networking が無効になっています。警告: IPv4 転送が無効になっています。ネットワーキングは機能しません
-
[解決済み] ansibleでdocker-composeのコマンドを実行するには?
-
[解決済み] Ansibleタスクのタイムアウトの最大長
-
[解決済み] Dockerfileの "RUN chmod "が有効でない。
-
bashでの解決方法 : docker :コマンドが見つかりません。
-
docker パーミッションが拒否されました。
-
docker make image apt-get install file error debconf: unable to initialize frontend: ダイアログ
-
docker-composeの使い方ガイド