我正在尝试这个:
https://docs.docker.com/compose/environment-variables/#substitute-environment-variables-in-compose-files
正如文档所述,这是我的 docker-compose.yml:
services:
web:
image: "${IMAGE}"
这是我的 .env.dev 文件IMAGE=node:12
这是我正在运行的命令:docker-compose --env-file ./.env.dev up
但我收到此错误:WARNING: The IMAGE variable is not set. Defaulting to a blank string.
Traceback (most recent call last):
File "bin/docker-compose", line 3, in <module>
File "compose/cli/main.py", line 67, in main
File "compose/cli/main.py", line 126, in perform_command
File "compose/cli/main.py", line 1070, in up
File "compose/cli/main.py", line 1066, in up
File "compose/project.py", line 615, in up
File "compose/service.py", line 350, in ensure_image_exists
File "compose/service.py", line 376, in image
File "docker/utils/decorators.py", line 17, in wrapped
docker.errors.NullResource: Resource ID was not provided
[50006] Failed to execute script docker-compose
难道我做错了什么?我有 docker-compose 1.27.4
最佳答案
我在 Ubuntu docker-compose
中找到我必须直接转到所有文件(docker-compose.yml ... 和 some.env)所在的目录。
后来它确实起作用了。
解决办法只有cd
进入目录:
cd my-folder-with-compose
docker-compose --env-file all.env ...
关于docker-compose --env-file 根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64499052/