首页 > 解决方案 > Azure App 服务设置不适用于 docker

问题描述

我是 Azure 部署和 DevOps 的新手,

这次我正在做一个小项目,使用自定义的 docker 映像创建一个带有 Azure App Service 的 NestJS API。使用正确的数据库连接凭据环境变量,一切都部署得很好。但是,当我尝试将这些环境变量替换为

配置服务.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 容器运行时日志总是显示这些环境变量无法应用。

标签: node.jsazuredockerazure-web-app-service

解决方案


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

尝试从已部署的 create-react-app 中的公用文件夹中获取 json 文件时出现 404 错误

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

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


推荐阅读