要約
- ここに保管されてる ->
\\wsl$\docker-desktop-data\version-pack-data\community\docker\
- dockerのversionによって細かくパスが異なるみたい
きっかけ
docker desktop for windowsで名前付きvolumeを作成した際、そのデータはローカル環境上のどこに保管されているのかが気になった。
環境
- OS: windows10
- wsl2
- Ubuntu-18.04
- Docker version: 20.10.22
調べたこと
とりあえず作成済みの名前付きvolumeについてinspectをみてみた。
$ docker volume inspect mysqlvolume
[
{
"CreatedAt": "2023-02-20T12:53:36Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "sample_product_1_workspace",
"com.docker.compose.version": "1.29.2",
"com.docker.compose.volume": "mysqlvolume"
},
"Mountpoint": "/var/lib/docker/volumes/mysqlvolume/_data",
"Name": "mysqlvolume",
"Options": null,
"Scope": "local"
}
]
Moutpointがそれっぽいが、探してみたけど見当たらない。
$ ls /var/lib/docker/volumes/mysqlvolume/_data
ls: cannot access '/var/lib/docker/volumes/mysqlvolume/_data': No such file or directory
ubuntu上にないなら、docker desktop for windowsのアプリとして名前付きvolume(ストレージ)を一括管理してる場所がhostのどこかにある気がする。
上記の直感を元に色々ググってみたところ、stackoverflowでドンピシャの質問があった。
回答者によると \\wsl$\docker-desktop-data\data\docker\volumes
<- ここにあるらしい。
記載されたversionとは異なるが \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\
<- こっち側にあった。
かなりざっくりした直感だったが、同じことを疑問に思う人が他にもいたのがちょっと嬉しかった。
windows上でdockerがどういった仕組みで動くのか全然わかっていないが、気になった部分から少しずつ理解度を上げていきたい。
余談
macだとまた違う管理っぽい。
https://uzimihsr.github.io/post/2020-12-15-docker-desktop-for-mac-hyperkit-vm/#fn:1