【发布时间】:2017-06-16 08:06:31
【问题描述】:
这是我的 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/
【问题讨论】:
-
如果你从同一个 shell 运行
env | grep PWD会发生什么? -
@BMitch 我得到了我的正常密码:/home/user/... 和 OLDPWD=...
-
这就是你用来运行 docker-compose 命令的完全相同的 shell?您没有通过某种执行程序,通过任何类型的调度程序等启动它吗?因为当我在本地运行类似的东西时,我无法在 bash 下重现此错误。
-
@BMitch 不,我刚刚运行了 docker-compose up。这就是我所做的:回显 $PWD 并输入,打印 PWD。然后 docker-compose up 在下一行,得到警告
-
就我而言,我碰巧是running docker-compose using sudo。 Using the -E flag sudo 保留现有的环境变量为我解决了这个问题。
sudo -E bash -c 'docker-compose up'
标签: shell docker environment-variables