173

現在 docker を学習しようとしていますが、データ ボリュームが実際に存在する場所について混乱しています。

Docker Desktop for Windowsを使用しています。(ウィンドウズ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"
    }
]

誰でも私を助けることができますか?データ ボリュームが実際に存在する場所を知りたいのですが、それはホスト マシン上にありますか? もしそうなら、どうすればそれへのパスを取得できますか?

4

13 に答える 13

40

為にWindows 10 + WSL 2 (Ubuntu 20.04), Docker version 20.10.2, build 2291f61

Docker アーティファクトは次の場所にあります。

DOCKER_ARTIFACTS == \\wsl$\docker-desktop-data\version-pack-data\community\docker

データ ボリュームは次の場所にあります。

ここに画像の説明を入力

DOCKER_ARTIFACTS\volumes\[VOLUME_ID]\_data

ここに画像の説明を入力

于 2021-02-14T15:41:13.593 に答える
20

Windows ホストで Linux ベースのコンテナーを実行する場合、実際のボリュームは Linux VM 内に格納され、ホストの fs では使用できません。それ以外の場合、Windows は Windows で実行されています => C:\ProgramData\Docker\volumes\

またdocker inspect <container_id>、コンテナーの構成も一覧表示されます。[マウント] セクションの下に、永続化レイヤーの詳細が表示されます。

更新: WSLで実行されている Docker には適用されません。

于 2020-03-16T00:39:40.393 に答える
13

WSL 2 (Ubuntu 20.04) を使用した Docker のセットアップでは、Windows 10 で次の場所が使用されていることがわかりました。

C:\Users\Username\AppData\Local\Docker\wsl\data\ext4.vhdx

Usernameユーザー名はどこですか。

于 2020-09-08T10:00:12.400 に答える
11

wsl2 が有効になっている場合は、ファイル エクスプローラーで見つけることができます。\\wsl$\docker-desktop\mnt\host\wsl\docker-desktop-data\data\docker

于 2020-08-31T09:27:26.317 に答える