【发布时间】:2020-03-22 19:16:08
【问题描述】:
我有一个 docker-compose 文件,它有一个运行 postgres 数据库映像的服务。数据库的环境变量(用户、密码、db_name)在一个名为db.env的环境文件中:
DB_USERNAME=some_user
DB_PASSWORD=thepassword
DB_NAME=database
因为我只想将这些变量放在一个文件中,所以我想使用这个backand/db.env 文件。问题是,环境变量名称与 postgres 使用的变量名称不同(DB_USERNAME POSTGRES_USER)。
这是docker-compose.yml 文件:
services:
db:
image: postgres
ports:
- 5432:5432
env_file:
- backend/db.env
environment:
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_USER=${DB_TEST}
- POSTGRES_DB=${DB_DATABASE}
我尝试使用与使用标准 .env 文件时相同的方法:Environment variables in Compose。
【问题讨论】:
-
所以除了默认的 .env 文件之外,没有可能使用 .env 文件(此处为 backend/db.env)中的变量?
-
当然你可以使用 db.env 但 ENV 名称应该与 postgress 环境变量匹配。
标签: docker docker-compose environment-variables