我不了解environment:
中的docker-compose.yml
的工作方式。
如果我有
environment:
- MY_ENV_VAR
- MY_SECOND_ENV_VAR
现在,我如何在呼叫docker-compose up
时设置它们?
我之前尝试过export
。
我尝试过-e KEY=VALUE
但是似乎没有任何效果。
当我缩回容器并检查env
时,找不到MY_ENV_VAR
或MY_SECOND_ENV_VAR
。
答案 0 :(得分:2)
您可以在yml文件中分配一个值。
environment:
- MY_ENV_VAR=foo
- MY_SECOND_ENV_VAR=bar
您还可以在yml文件中使用环境变量。
environment:
- MY_ENV_VAR=${foo}
- MY_SECOND_ENV_VAR=${bar}
答案 1 :(得分:2)
我找到了问题。
如果您的yml
文件具有多项服务:
one:
environment:
- VAR_ONE
two:
environment:
- VAR_ONE
- VAR_TWO
然后您
export VAR_ONE=1
export VAR_TWO=2
docker-compose up
然后从ssh
到two
,您将不看到VAR_TWO
设置。
如果将yml
更改为:
one:
environment:
- VAR_ONE
- VAR_TWO
two:
environment:
- VAR_ONE
- VAR_TWO
请注意,每个服务都具有完全相同的环境密钥。
然后就可以了!