在 Docker Compose 中,环境变量是在启动命令之前执行的。这意味着,在 docker-compose.yml 文件中定义的环境变量可以在容器启动时被使用。
例如,以下示例中的环境变量 DATABASE_HOST 和 DATABASE_PORT 将在启动命令 java -jar /app.jar 中被使用:
services:
web:
build: .
environment:
DATABASE_HOST: db
DATABASE_PORT: 5432
command: java -jar /app.jar
db:
image: postgres
在上述示例中,web 服务的启动命令中使用了 DATABASE_HOST 和 DATABASE_PORT 环境变量。这些环境变量会在容器启动时被解析,并传递给应用程序。
需要注意的是,如果环境变量的值在容器启动后发生更改,则应用程序不会自动重新加载它们。如果想要应用程序能够重新加载环境变量,需要重启容器。