gpt4 book ai didi

docker - docker-compose从动态路径加载.env

转载 作者:行者123 更新时间:2023-12-02 19:18:07 27 4
gpt4 key购买 nike

我有下面的结构

enter image description here

项目根.env定义了./docker/dev/.env./docker/prod/.env的路径,如下所示:

environment=dev
dot_env_path=./docker/dev/.env

我的docker-compose.yml包含以下服务片段:
services:
db:
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
restart: always
env_file: ${dot_env_path} <--notice this variable points to the actual .env
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
ports:
- 3306:3306
expose:
- 3306
volumes:
- db-tmc:/var/lib/mysql

但是,当我执行 docker-compose构建时,我收到以下警告;它没有检测到 ${dot_env_path}并加载其内容

enter image description here

任何想法,非常感谢?

最佳答案

如果使用environment:选项,请不要使用env_file。它覆盖了已经从env_file:选项添加到环境中的变量

改用它。

services:
db:
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
restart: always
env_file: ${dot_env_path}
ports:
- 3306:3306
expose:
- 3306
volumes:
- db-tmc:/var/lib/mysql

关于docker - docker-compose从动态路径加载.env,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62038561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com