![](/img/trans.png)
[英]Where are my volumes mounted when using Docker Desktop and WSL2?
[英]Docker volumes on WSL2 using Docker Desktop
我只是在 Docker for Windows 上试用 WSL 2,但我在安装卷时遇到了问题:
version: "3.7"
services:
node:
build: .
container_name: node
hostname: node
volumes:
- ./app:/app
stdin_open: true
容器构建并启动良好,我使用 docker exec 很好地访问它,但容器内的/app
文件夹未绑定到我的笔记本电脑app
文件夹。 但是,正确的路径实际上已正确安装在正在运行的容器上:
(这里我在主机上执行密码,如果它与容器上安装的内容完美匹配)
➜ app pwd
/mnt/c/Users/willi/devspace/these/app
这是 portainer 的屏幕,它告诉我在容器中安装了哪些路径并且一切都匹配。
我在主机上的 app 文件夹中创建的文件在容器的 app 文件夹中不可见,反之亦然。 这很奇怪,我不知道如何调试它。
补充资料:
docker version
输出:19.03.12docker-compose version
:1.26.2谢谢
正如@Pablo 所提到的,最佳实践似乎是使用 WSL 文件系统来映射卷。
docker run -v <host-path>:<container-path>
)的源代码和其他数据存储在 Linux 文件系统中,而不是 Windows 文件系统中。docker run -v /mnt/c/users:/users
(其中/mnt/c
从 Windows 挂载)。docker run -v ~/my-project:/sources <my-image>
,其中~
由 Linux shell 扩展为$HOME
。现在一切正常,似乎我的问题是我的 WSL 发行版仍处于版本 1。您可以使用以下命令进行验证:wsl -l -v
NAME STATE VERSION
* docker-desktop-data Stopped 2
docker-desktop Stopped 2
Ubuntu-20.04 Running 2 <- This was at 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.