[解決済み] Docker Desktopでデータボリュームを探す(Windows)
質問
現在Dockerを勉強しているのですが、データボリュームが実際にどこに存在するのかわからなくなってきています。
私が使っているのは Windows版Docker Desktop . (ウィンドウズ10)
ドキュメントには、オブジェクトに対して docker inspect を実行するとソースが得られると書かれています。 https://docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume
$ docker inspect web
"Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/webapp",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
が、これが表示されず、次のように表示されます。
$ docker inspect blog_postgres-data
[
{
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/blog_postgres-data/_data",
"Name": "blog_postgres-data",
"Options": {},
"Scope": "local"
}
]
どなたか教えてください。私のデータボリュームが実際に存在する場所を知りたいのですが、それは私のホストマシン上にあるのでしょうか?もしそうなら、どのように私はそれへのパスを取得することができますか?
解決方法は?
あなたのボリュームディレクトリは
/var/lib/docker/volumes/blog_postgres-data/_data
であり、かつ
/var/lib/docker
に搭載されるのが一般的です。
C:\Users\Public\Documents\Hyper-V\Virtual hard disks
. いずれにしても、Dockerの設定を見れば確認できます。
を参照することができます。 これらのドキュメント は、Windows上のDockerでドライブを共有する方法についての情報です。
ちなみに。
Source
はホスト上の場所であり
Destination
は、以下の出力のコンテナ内の位置である。
"Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/webapp",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
コメント中の質問に答えるために更新しました。
<ブロッククオート私がここで一番気になるのは、画像などを共有するのはいいのですが、自分のデータをどのように共有すればいいのか、ということです。
実は
volume
は、この目的(Dockerコンテナ内のデータ管理)のために設計されています。ボリューム内のデータはホストFS上に永続化され、Dockerコンテナ/イメージのライフサイクルから隔離されます。ボリューム内のデータは、以下の方法で共有できます。
-
Dockerボリュームをホストにマウントして再利用する
docker run -v /path/on/host:/path/inside/container image
そうすると、すべてのデータは
/path/on/host
バックアップをとって、別のマシンにコピーし、同じボリュームでコンテナを再実行することができます。 -
データコンテナを作成し、マウントする。
データコンテナを作成します。
docker create -v /dbdata --name dbstore training/postgres /bin/true
を使って、このコンテナをベースに他のコンテナを実行します。
--volumes-from
:docker run -d --volumes-from dbstore --name db1 training/postgres
によって生成されたすべてのデータはdb1
はコンテナのボリュームに永続化されます。dbstore
.
より詳しい情報は Docker ボリューム公式ドキュメント .
簡単に言うと
volumes
は、コンテナのデータをすべて含むホスト上のディレクトリに過ぎないので、データをバックアップ/共有するために以前使用した任意の方法を使用することができます。
イメージと同じように、docker-hubにボリュームをプッシュできますか?
いいえ、Docker イメージ はDockerハブ(別名「レジストリ」)にプッシュできるものですが、データはそうではありません。データのバックアップ、永続化、共有はどんな方法でも可能ですが、データをDockerレジストリにプッシュして共有することは、何の意味もありません。
<ブロッククオートバックアップなどを取ることはできますか?
はい、上記の通りです :-)
関連
-
net/http: 接続待ちの間にリクエストがキャンセルされた (Client.Timeout exceeded while awaiting head)
-
接続中にDocker useエラーが発生しました。このエラーは、Docker デーモンが実行されていないことを示す可能性があります。
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古い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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Dockerエラー:無効な参照形式:リポジトリ名は小文字でなければならない
-
[解決済み] 作成前のチェックでエラーになる。「このコンピュータでは、VT-X/AMD-vが有効になっていません。有効になっているのに「BIOSで有効にすることが必須です。
-
httpコード中にdocker registry apiのインタラクションを呼び出す コード詳細
-
docker] top コマンドで "TERM 環境変数が設定されていません。" というエラーが報告されます。
-
minttyを使用している場合は、コマンドの前に'winpty'を付けてみてください。
-
docker パーミッションが拒否されました。
-
docker-composeによるmysqlのデプロイメントの実践
-
様々なDockerディレクトリの役割
-
UbuntuでDockerインストールしたgogsは、サービスを時々再起動するとアクセスできなくなります。
-
Docker pullでマニフェスト不明エラーが発生する