docker-compose --env-file 根本不起作用

标签 docker docker-compose substitution

我正在尝试这个:
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/

相关文章:

python-3.x - 在 Ubuntu 18.04.2 LTS docker 容器上使用 Python 3.6.8 的机器人框架

python - PyCharm 远程解释器 : Cannot Execute Docker's Python Binary

oracle - 加载共享库 libresolv.so.2 : No such file or directory (needed by/lib/libclntsh. 时出错 so)

node.js - docker:创建新用户后运行 npm install 时遇到问题

php - 如何通过 docker-php-ext-install 为 php 安装扩展?

azure - 为什么创建 Azure 容器实例需要这么长时间?

docker - 如何将文件夹安装为 docker image build 创建的卷?

regex - 将替换函数包装到 Perl 中的脚本中

r - 如何获取R中的变量名称(替代)?

bash - 替换 bash 变量中的换行符?