本人github
是的,Docker Compose 可以读取 .env
文件中定义的环境变量。当你使用 docker-compose up
命令启动服务时,Docker Compose 默认会查找当前目录下的 .env
文件,并将其中定义的环境变量加载到 Compose 配置文件(如 docker-compose.yml
)中。
如何使用 .env
文件中的变量
-
定义环境变量:在
.env
文件中定义你的环境变量。例如:REDIS_HOST=localhost ENABLE_WAIT_TIME=True
-
在
docker-compose.yml
中引用这些变量:你可以在docker-compose.yml
文件中使用这些环境变量。例如:version: '3' services: web: image: "webapp:${TAG}" environment: - ENABLE_WAIT_TIME=${ENABLE_WAIT_TIME}
在这个示例中,
ENABLE_WAIT_TIME
变量将从.env
文件中读取其值。
注意事项
- 文件位置:
.env
文件应该位于与docker-compose.yml
文件同一目录下。 - 变量替换:Docker Compose 会自动替换
docker-compose.yml
文件中形式为${VARIABLE}
的变量。 - 默认值:可以在
docker-compose.yml
文件中为环境变量提供默认值,如ENABLE_WAIT_TIME=${ENABLE_WAIT_TIME:-False}
。 - 环境依赖:确保
.env
文件中的变量设置与你的应用程序和 Docker 容器配置相兼容。
使用 .env
文件是管理 Docker Compose 环境变量的一种便捷方式,它使得你的配置更加灵活和可维护。