Docker Compose表示$PWD变量未设置Windows

Docker Compose表示$PWD变量未设置Windows,windows,docker,docker-compose,pwd,Windows,Docker,Docker Compose,Pwd,我是新来的码头工人。我当前有docker-compose.yml,其中的卷我要将当前目录装载到容器中的“/usr/share/data”。比如: volumes: - ${PWD}/data:/usr/share/data/ 我将windows与Linux子系统一起使用,想知道为什么它无法获取PWD变量。同样的代码在Linux机器上运行良好。请告诉我如何设置环境PWD。我需要手动操作还是可以使用相同的docker compose文件进行操作。使用而不是${PWD}不会出现目录错误,我看

我是新来的码头工人。我当前有docker-compose.yml,其中的卷我要将当前目录装载到容器中的“/usr/share/data”。比如:

volumes:
    - ${PWD}/data:/usr/share/data/

我将windows与Linux子系统一起使用,想知道为什么它无法获取PWD变量。同样的代码在Linux机器上运行良好。请告诉我如何设置环境PWD。我需要手动操作还是可以使用相同的docker compose文件进行操作。使用
而不是${PWD}不会出现目录错误,我看到很多论坛都说这是windows的问题。

你需要使用
${PWD}
而不是
{$PWD}
。您也可以使用点
而不是
${PWD}

为了在运行时与Docker容器共享Windows文件夹,您首先需要在
Docker settings
中配置
共享驱动器
选项:

Right click on docker app > Settings > Shared drives > Check D:
然后
${PWD}
应在compose中工作:

volumes:
    - ./data:/usr/share/data/

我没有要测试的Windows计算机,但我相信Windows with Linux子系统在组合文件(
)中使用相对路径时会出现一些问题。这是我使用${PWD}时的一个键入错误。它给出了上述错误。如何设置它。我需要在windows环境变量中手动设置吗???如果是这样的话,我该怎么做,比如如果项目在D:/f1中,PWD的值应该是多少/f2@NeoAnderson这就是我读到的,它也给了我错误。@A.Hamza,您不必设置PWD环境变量。它始终等于当前上下文的绝对路径。我在设置中没有共享驱动器选项。我的windows 10版本是2004 OS Build 19041.508。我已经尝试通过右键单击docker图标切换到Linux容器。设置中仍然没有共享驱动器选项。我刚刚在WSL2中发现,共享驱动器没有这样的选项。您可以使用docker run-v c:/…/your folder:/mount…直接装载,但这不是我们使用docker compose卷的相同设置吗?这里是链接