xoo*_*ack 5 environment-variables docker docker-compose
我有一个 docker-compose 文件,它有一个运行 postgres 数据库映像的服务。数据库的环境变量(用户、密码、db_name)位于名为 的 env 文件中db.env:
DB_USERNAME=some_user
DB_PASSWORD=thepassword
DB_NAME=database
Run Code Online (Sandbox Code Playgroud)
因为我只想在一个文件中包含这些变量,所以我想使用这个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}
Run Code Online (Sandbox Code Playgroud)
我尝试使用与使用标准.env文件时相同的方法:Compose 中的环境变量。
env_file将在撰写文件本身的容器中可用,因此您需要在此处.env使用.env
解决方法:
for i in $(cat < db.env); do export $i;done && docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
数据库环境:
DB_USERNAME=some_user
DB_PASSWORD=thepassword
DB_NAME=database
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |