这是我的docker-compose:
version: '2'
services:
couchpotato:
build:
context: ./couchpotato
dockerfile: Dockerfile
ports:
- 5050:5050
volumes:
- "${PWD}/couchpotato/data:/home/CouchPotato/data/"
- "${PWD}/couchpotato/config:/home/CouchPotato/config/"当我在shell中的docker-compose.yml目录中运行它时,我得到:
WARNING: The PWD variable is not set. Defaulting to a blank string.并且组合以PWD为空开始。
我在文件中看不到任何错误,如下所示:https://docs.docker.com/compose/environment-variables/
发布于 2017-01-31 09:30:28
为此,您不需要${PWD},您只需将路径设置为相对路径,然后compose将扩展它( compose路径与由docker run处理的路径之间的一个主要区别)。
version: '2'
services:
couchpotato:
build:
context: ./couchpotato
dockerfile: Dockerfile
ports:
- 5050:5050
volumes:
- "./couchpotato/data:/home/CouchPotato/data/"
- "./couchpotato/config:/home/CouchPotato/config/"至于为什么compose看不到这个变量,这取决于您的shell。Compose查找导出的环境变量、.env文件的内容以及docker-compose命令的命令行标志。如果变量中的每一个都是空的,您将收到该警告。
发布于 2020-02-17 19:44:30
我的建议:将所有$PWD更改为.
发布于 2020-05-20 12:41:35
如果您使用sudo运行,则$PWD将无法工作。尝试Docker for Linux https://docs.docker.com/engine/install/linux-postinstall/中推荐的设置。
Sudo将使用不同的env以不同的用户身份运行。
$ sudo env | grep -i pwd
$ env | grep -i pwd
PWD=/home/user
OLDPWD=/https://stackoverflow.com/questions/41948232
复制相似问题