docker 未应用 Azure 应用服务设置

Azure App service settings not applied with docker

我是 Azure 部署和 DevOps 的新手,

这次我正在做一个小项目,使用自定义的 docker 图像通过 Azure 应用服务创建 NestJS API。一切都使用正确的连接凭据环境变量很好地部署到数据库。但是,当我尝试用

替换这些环境变量时

config.service.ts

const PORT = process.env.APPSETTING_PORT;
const MODE = process.env.APPSETTING_MODE;
const POSTGRES_HOST = process.env.APPSETTING_POSTGRES_HOST;
const POSTGRES_PORT : any = process.env.APPSETTING_POSTGRES_PORT;
const POSTGRES_USER = process.env.APPSETTING_POSTGRES_USER;
const POSTGRES_PASSWORD = process.env.APPSETTING_POSTGRES_PASSWORD;
const POSTGRES_DATABASE = process.env.APPSETTING_POSTGRES_DATABASE;

,在 azure 中创建应用程序后,我在 Azure CLI 上使用此命令分配值:

az webapp config appsettings set --resource-group <my_rs_group> --name <my_app_name> --settings WEBSITES_PORT=80 APPSETTING_POSTGRES_HOST=<my_host_name>\ APPSETTING_POSTGRES_PORT=5432 APPSETTING_POSTGRES_DATABASE=postgres \ APPSETTING_POSTGRES_USER=<my_user_name> APPSETTING_POSTGRES_PASSWORD=<my_host_pw>\ APPSETTING_PORT=80 APPSETTING_MODE=PROD APPSETTING_RUN_MIGRATION=true

我已经被这个问题困扰了 2 天,并且在网站上经历了许多类似的线程,但我无法解决这个问题,docker 容器运行时日志总是显示这些环境变量应用失败

我正在回答我自己的问题,因为我找到了解决这个问题的线程,尽管由于某种原因这个问题不受欢迎,在这里链接它,

微软没有在他们的文档中明确表示对于nodejs环境,需要设置const {env} = process;并通过PORT = env.APPSETTING_PORT;访问它,例如帮助服务器应用程序,这很令人烦恼在 docker 运行时正确设置变量。

希望遇到这个问题的人不要浪费时间