始めに
こんにちは。
純粋に、「どこ?」となったので探しました。
結果、厳密な物理的な場所を探すのは心が折れました。
なので、powershellから直接WSLが提供する仮想ファイルシステムからのアクセス方法をご紹介します。
前提
compose.ymlは以下のような感じ
services:
ubuntu:
build: ./docker/ubuntu
volumes:
- ./:/var/www
- data-volume:/var/sample-data
volumes:
data-volume:
- Dockerfileはこうした
FROM ubuntu:22.04
## 必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
curl \
vim \
nginx
## デフォルトコマンド
CMD ["nginx", "-g", "daemon off;"]
- wslディストリビューション
PS C:\Users\nihonshu> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
docker-desktop
docker-desktop-data
まずは、普通に探す→見つからない
root@KIS:~## docker volume ls
DRIVER VOLUME NAME
local sample-ubuntu_data-volume
root@KIS:~##
root@KIS:~## docker volume inspect sample-ubuntu_data-volume
[
{
"CreatedAt": "2023-12-12T10:36:51Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "sample-ubuntu",
"com.docker.compose.version": "2.0.0",
"com.docker.compose.volume": "data-volume"
},
"Mountpoint": "/var/lib/docker/volumes/sample-ubuntu_data-volume/_data",
"Name": "sample-ubuntu_data-volume",
"Options": null,
"Scope": "local"
}
]
/var/lib/docker/volumes/sample-ubuntu_data-volume/_data
にありそうだが、そんなモノは存在しない
wslコマンドでpowershellから入室→存在しない
もちろんwindowsにもない
linux系は素直にここにあります。
root@KIS:/var/lib## pwd
/var/lib
root@KIS:/var/lib## ls | grep docker
docker-desktop
root@KIS:/var/lib##
実際の場所(仮)
- host OSであるwindowsから移動します。powershellから
cd \\wsl$\\docker-desktop-data\\version-pack-data\\community\\docker\\volumes
ここにあります。
PS Microsoft.PowerShell.Core\\FileSystem::\\\\wsl$\\docker-desktop-data\\version-pack-data\\community\\docker\\volumes> ls
ディレクトリ: \\\\wsl$\\docker-desktop-data\\version-pack-data\\community\\docker\\volumes
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/12/12 19:36 sample-ubuntu_data-volume
-----l 2023/12/13 8:32 0 backingFsBlockDev
------ 2023/12/13 8:32 65536 metadata.db
さらに奥に行くと、実態が存在します
PS Microsoft.PowerShell.Core\\FileSystem::\\\\wsl$\\docker-desktop-data\\version-pack-data\\community\\docker\\volumes\\sample-ubuntu_data-volume\\_data> ls
ディレクトリ: \\\\wsl$\\docker-desktop-data\\version-pack-data\\community\\docker\\volumes\\sample-ubuntu_data-volume\\_data
Mode LastWriteTime Length Name
---- ------------- ------ ----
------ 2023/12/13 10:09 20 hogehogehogehoge
PS Microsoft.PowerShell.Core\\FileSystem::\\\\wsl$\\docker-desktop-data\\version-pack-data\\community\\docker\\volumes\\sample-ubuntu_data-volume\\_data>