簡體   English   中英

讀取容器的特定 Docker env_file

[英]Reading a specific Docker env_file for a container

我在包含項目相關信息的 Maven 項目的根目錄下有一個帶有.env文件的項目。 我想在項目的模塊目錄中有一個名為.creds.env的單獨env文件,以便我可以將它添加到.gitignore .creds.env文件包含以下格式的用戶名和密碼:

USER_NAME=user
USER_PASSWORD=password

docker-compose.yml ,我有以下內容來讀取服務的.creds.env文件:

  myservice:
    env_file:
      - ./module/.creds.env
    container_name: myservice
    build:
      context: ./
      dockerfile: ./module/Dockerfile
      args:
        USER_NAME: ${USER_NAME}
        USER_PASSWORD: ${USER_PASSWORD}

但是用戶名和密碼只能從根.env文件中讀取,而不是從模塊.creds.env

項目結構如下:

|__ .env
|__ docker-compose.yml
|__ module
     |__ Dockerfile
     |__ .creds.env

我需要幫助搞清楚如何閱讀.creds.env該文件myservice容器,並繼續讀.env的一切文件。

您應該刪除根.env文件中的USER_NAMEUSER_PASSWORD

聽起來您可以假設您的環境將始終包含.creds.env文件。

如果您需要當前在.env引用的默認值,您可以在撰寫文件中使用 shell 參數替換:

  myservice:
    env_file:
      - ./module/.creds.env
    container_name: myservice
    build:
      context: ./
      dockerfile: ./module/Dockerfile
      args:
        USER_NAME: ${USER_NAME:-user}
        USER_PASSWORD: ${USER_PASSWORD:-mypass}

暫無
暫無

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

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