我需要在docker compose(v2)中定义一个env var。 现在我只有:
environment:
- SERVERNAME=192.168.xx.xx
但我真的不喜欢这种方法。人们需要修改撰写文件。有没有办法让我更有活力。类似的东西:
docker-compose up --env SERVERNAME=192.168.xx.xx
这样做的最佳方法是什么?
答案 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这样的东西。