我的目标是在 docker-compose.yml 文件中使用可以在应用程序内部引用的环境变量,例如config/database.yml
docker-compose.yml
...
environment:
$DB_NAME: myapplication
$DB_USER: appadmin
$DB_PASS: secret
...
配置/数据库.yml
...
database: $DB_NAME
db_user: $DB_USER
db:pass: $DB_PASS
...
但无论我如何尝试将变量发送到我的文件,它们都无法被识别。:(
答案1
您只是想在 Compose 文件中设置变量?在这种情况下,您不需要在它们前面加上“$”:
environment:
- DB_NAME=database
- DB_USER=appadmin
- DB_PASS=secret
您也可以使用映射:
environment:
DB_NAME: database
DB_USER: appadmin
DB_PASS: secret
当您在数据库配置文件中引用它们时,您也可以使用变量名,同样,不需要“$”:
environment:
DB_NAME
DB_USER
DB_PASS
您可以检查Compose 环境选项文档和Compose 环境参考了解更多信息。
希望有所帮助。