这是我的 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/
最佳答案
您不需要 ${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 命令的命令行标志。如果变量中的每一个都为空,您将收到该警告。
关于shell - Docker compose 找不到 $PWD 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948232/