你能把ENV VAR添加到docker compose up命令吗?

时间:2017-06-29 08:10:46

标签: environment-variables docker-compose

我需要在docker compose(v2)中定义一个env var。 现在我只有:

environment:
- SERVERNAME=192.168.xx.xx

但我真的不喜欢这种方法。人们需要修改撰写文件。有没有办法让我更有活力。类似的东西:

docker-compose up --env SERVERNAME=192.168.xx.xx

这样做的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

我认为这是不可能的,但最接近的解决方案可以在env文件中传递

来自码头工人docs

  

您可以使用'env_file'选项将多个环境变量从外部文件传递到服务的容器。

所以你可以使用变量创建一个env文件,例如server.env,并在docker-composer.yml中引用它

env_file:
  - server.env

或者您可以在文件夹

中创建.env文件
$ cat .env
SERVERNAME=192.168.xx.xx

使用以下命令更改配置:

environment:
  - SERVERNAME=${SERVERNAME}

答案 1 :(得分:-1)

您可以使用-e "SERVERNAME=192.168.1.1" -e "SOMETHING=bla"语法执行此操作。

或者使用像Hashicorp's Vault这样的东西。