Environment variables 能否将环境变量添加到docker compose up命令中

Environment variables 能否将环境变量添加到docker compose up命令中,environment-variables,docker-compose,Environment Variables,Docker Compose,我需要在docker compose(v2)中定义一个环境变量。 现在我有了这样的东西: environment: - SERVERNAME=192.168.xx.xx docker-compose up --env SERVERNAME=192.168.xx.xx 但我真的不喜欢这种方法。人们需要修改撰写文件。有没有办法让我做得更有活力。比如: environment: - SERVERNAME=192.168.xx.xx docker-compose up --env SERVERNA

我需要在docker compose(v2)中定义一个环境变量。 现在我有了这样的东西:

environment:
- SERVERNAME=192.168.xx.xx
docker-compose up --env SERVERNAME=192.168.xx.xx
但我真的不喜欢这种方法。人们需要修改撰写文件。有没有办法让我做得更有活力。比如:

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

执行此操作的最佳方法是什么?

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


或者使用类似Hashicorp的保险库

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

来自de docker:

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

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

env_file:
  - server.env
也可以在文件夹中创建.env文件

$ cat .env
SERVERNAME=192.168.xx.xx
并使用以下命令更改您的配置:

environment:
  - SERVERNAME=${SERVERNAME}
docker compose-up-build-d-e SERVERNAME=“192.168.10.xxx”
docker compose-e SERVERNAME=“192.168.10.10”up
似乎不起作用。。