0
点赞
收藏
分享

微信扫一扫

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

覃榜言 2022-09-02 阅读 70

问题描述

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

 

根本原因

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

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

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

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

但是由于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​​

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!



举报

相关推荐

0 条评论