Windows主机Docker+;WSL-卷安装问题
thx到电晕-我们大多数人在家工作,由于一些便利,我想使用我在家里的windows机器 我确实在DockerDesktop版本2.3.0.3下运行Win10,引擎在版本19.03.8上运行。 我正在做的是在本地主机上公开docker deamon,以便从我安装的WSL(版本1,而不是2)Ubuntu中使用它。 Docker本身就可以工作,我可以拉图像和做基本的事情。但我在增加容量时面临着一些问题:-/ 当我尝试运行docker compose up命令时,该命令失败,出现以下错误:Windows主机Docker+;WSL-卷安装问题,docker,windows-subsystem-for-linux,docker-volume,Docker,Windows Subsystem For Linux,Docker Volume,thx到电晕-我们大多数人在家工作,由于一些便利,我想使用我在家里的windows机器 我确实在DockerDesktop版本2.3.0.3下运行Win10,引擎在版本19.03.8上运行。 我正在做的是在本地主机上公开docker deamon,以便从我安装的WSL(版本1,而不是2)Ubuntu中使用它。 Docker本身就可以工作,我可以拉图像和做基本的事情。但我在增加容量时面临着一些问题:-/ 当我尝试运行docker compose up命令时,该命令失败,出现以下错误: ERROR:
ERROR: for my-service Cannot start service my-service: error while mounting volume '/var/lib/docker/volumes/someDir/_data': failed to mount local volume: mount /home/myUser/myLocalDirectory:/var/lib/docker/volumes/someDir/_data, flags: 0x1000: no such file or directory
目录/home/myUser/myLocalDirectory
确实存在。
我的WSL“主机”上不存在目录/var/lib/docker/volumes/someDir/\u data
。只有一个/var/lib/docker engine/…
文件夹,这显然不是我要找的文件夹:-/
我的工作路径是/mnt/e/projects/myDockerProject
——但我也尝试挂载/绑定文件夹/硬盘驱动器,如图所示
所有这些都不起作用,我真的被卡住了-你有什么建议/解释吗?当我使用Docker for Windows运行linux容器时,我绑定mount
c:/the/Windows/path:/desired/path/in/the/container
这里有很多层:
___ WSL
/
Windows
\___ Docker Linux VM -- Containers
在“正常”情况下(带有linux容器的linux主机),可以绑定挂载一个本地目录。在上图中,这将对应于Docker Linux VM中的一个目录。但是Docker for Windows允许我们指定一个Windows路径
当你把WSL加入其中时,事情会变得更糟。在WSL中,/home
已经是一种魔术,它没有显示出直接链接到c
驱动器:
root@MyPcName:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 498557588 390255608 108301980 79% /
root 498557588 390255608 108301980 79% /root
home 498557588 390255608 108301980 79% /home
data 498557588 390255608 108301980 79% /data
cache 498557588 390255608 108301980 79% /cache
mnt 498557588 390255608 108301980 79% /mnt
none 498557588 390255608 108301980 79% /dev
none 498557588 390255608 108301980 79% /run
none 498557588 390255608 108301980 79% /run/lock
none 498557588 390255608 108301980 79% /run/shm
none 498557588 390255608 108301980 79% /run/user
cgroup 498557588 390255608 108301980 79% /sys/fs/cgroup
C:\ 498557588 390255608 108301980 79% /mnt/c
/home
显然对应于C:\Users
,但您无法从df
的输出或/proc/mounts
或/etc/fstab
的内容中分辨出来
我建议您尝试以下方法:
C:/Users/myUser/myLocalDirectory:/desired/path/in/the/container
/mnt/c/Users/myUser/myLocalDirectory:/desired/path/in/the/container
docker compose up
,并使用上面第1条中的windows路径