【Azure App Service for Linux】Linux Web App如何安装系统未安装的包

问题描述

Linux Web App中如何安装系统默认未安装的包,如何来执行如 apt install XXX命令呢?现在遇见的问题时,通过Azure App Service门户中的SSH登录后,执行命令Web端一侧长久没有响应。

 

根本原因

使用SSH连接到Linux web app的实例,可以参考博文(【应用服务 App Service】解决无法从Azure门户SSH登录问题)中描述的内容:使用 az webapp create-remote-connection 命令打开到应用的远程连接。

当本地网络情况好的情况下,直接在Web SSH上执行apt 等命令也是可以成功的。如下:

但是由于App Service的PaaS特性,实例会随时发生变化,所以如果通过这样的方式安装应用所需要的一些package,并不会持久化,也不会同步到其他实例上。当实例变动时或站点重启,均会丢失通过此方式安装的包(Package),所以建议把应用程序打包为镜像,使用容器化的方式部署到Azure App Service for Container。

 

解决方案

使用 az webapp config container set 命令指定要为 Web 应用部署的容器注册表和映像:

az webapp config container set --name <app-name> --resource-group AppSvc-DockerTutorial-rg --docker-custom-image-name <registry-name>.azurecr.io/appsvc-tutorial-custom-image:latest --docker-registry-server-url https://<registry-name>.azurecr.io
  • 将 <app_name> 替换为 Web 应用的名称,并在两个位置将 <registry-name> 替换为注册表的名称。

 

部署镜像的命令查看Azure官方文档:https://docs.microsoft.com/zh-cn/azure/app-service/tutorial-custom-container?pivots=container-linux#deploy-the-image-and-test-the-app

 

posted @   路边两盏灯  阅读(215)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示