Dockerデーモンはどこで実行されていますか?どこかのサーバーで実行されているか、Docker for Windows(Windowsコンテナー/ LCOWを使用)を使用している場合、WSLの外部のホストで実行されていると思います。バインドマウントは、Dockerクライアントが実行されているWSL環境内ではなく、ホスト上で「/ home / username」を探している可能性があります。/ cおよび/ dの動作に関するコメントに基づいて、これらはホスト上のC:\およびD:\ドライブにマップされているように聞こえます。これは、Docker for Windowsを使用していることを示唆しています
WSLの内部からは、ドライブがWSLの内部にマウントされているように見えますが、rootfsは仮想ファイルシステム上に存在するため、/ cおよび/ dが機能する理由を説明できます。
nick@nick-desktop:/mnt$ mount
rootfs on / type lxfs (rw,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
none on /dev type tmpfs (rw,noatime,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime,gid=5,mode=620)
none on /run type tmpfs (rw,nosuid,noexec,noatime,mode=755)
none on /run/lock type tmpfs (rw,nosuid,nodev,noexec,noatime)
none on /run/shm type tmpfs (rw,nosuid,nodev,noatime)
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,noatime,mode=755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noatime)
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000)
W: on /mnt/w type drvfs (rw,noatime,uid=1000,gid=1000)
X: on /mnt/x type drvfs (rw,noatime,uid=1000,gid=1000)
Z: on /mnt/z type drvfs (rw,noatime,uid=1000,gid=1000)
WSLのLinux rootfsがどのように機能するかについて説明しているドキュメントを次に示しますhttps://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support/
Windows WSL rootfs内の場所は、KCU:\ Software \ Microsoft \ Windows \ CurrentVersion \ Lxssにリストされています(https://github.com/Microsoft/WSL/issues/2578を参照)
Dockerデーモンとクライアントhttps://docs.docker.com/engine/docker-overview/の違いを説明するDockerアーキテクチャに関する追加情報を次に示します。
$HOME
と/test
NTFSボリュームにありますか?