簡體   English   中英

docker-compose load.env 來自動態路徑

[英]docker-compose load .env from dynamic path

我有以下結構

在此處輸入圖像描述

項目根.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}並加載它的內容

在此處輸入圖像描述

任何想法,非常感謝?

不要使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM