簡體   English   中英

如何從 docker compose 文件訪問環境變量

[英]how to access env variables from docker compose file

我在 docker compose 中有兩個服務 1. 一個應用程序和 2. db 服務(可以是 Mysql 或 Postgres)。 根據在組合文件中為 db 服務設置的環境變量,我需要為 sqlalchemy 引擎創建 DATABASE_URI。 如何在應用程序 docker 容器中訪問這些 ENV?

我正在嘗試訪問 docker-compose 文件而不是 Dockerfile 中的環境集。

下面是我的 Docker-compose 文件的外觀

version: "3.7"
services:
  myapp:
    image: ${TAG:-myapp}
    build:
      context: .
    ports:
      - "5000:5000"


  docker_postgres:
    image: "postgres:latest"
    environment:
      - POSTGRES_PASSWORD=postgres
    ports:
      - "5432:5432"

如果要構建自己的 database_uri,則需要為 postgres 數據庫設置環境變量。

environment:
POSTGRES_DB: dev
POSTGRES_USER: username
POSTGRES_PASSWORD: pw

@jonrsharpe 你的意思是說我可以做這樣的事情?

services:
  myapp:
    image: ${TAG:-myapp}
    build:
      context: .
    environment:
      - DB_USER=postgres
      - DB_PASSWORD=postgres
      - DB_HOST=docker_postgres
    ports:
      - "5000:5000"


  docker_postgres:
    image: "postgres:latest"
    environment:
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_USER=postgres
    ports:
      - "5432:5432"```

暫無
暫無

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

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