是否可以在 Azure Web 应用程序 (Linux) 上的主机操作系统上安装包?



我已经使用Django构建了一个Python Web应用程序,我目前正在尝试实现SSO。

在本地运行项目时,它工作正常,因为我使用brew install libxml2 libxmlsec1安装了必要的包。将项目部署到 Azure 时.txt无法安装我的要求,因为基础依赖项未安装在 Azure 容器上。

为了解决这个问题,我添加了一个 prebuild.sh 脚本,以便在部署之前运行。

#!/bin/bash
sudo apt-get -y update
sudo apt-get -y install gcc
sudo apt-get -y install pkg-config
sudo apt-get -y install libxml2-dev libxmlsec1-dev libxmlsec1-openssl
sudo apt-get -y install xmlsec1

这行不通。在日志中我可以看到:sudo command not found. 我还尝试使用su -c运行它,并在第一行使用su -。 如果我根本不使用sudo / su -c / su -,将显示权限不足错误。

通过SSH客户端手动安装软件包时,所有内容都将正确安装。唯一的问题是,一旦我退出会话,更改就不会保存。

有没有人知道如何在 Azure 上安装必要的依赖项?

Azure 提供的所有运行时都是用于常规用途的内置映像。它可能无法满足您的需求。就像您遇到的情况一样,它不包含您需要的依赖项。

此时,您需要自己创建运行时以用于您的特殊目的,这意味着您需要创建自定义映像。对于自定义映像,它可以包含应用程序所需的所有内容。它意味着依赖关系,也意味着 Django 和你的 SSO 应用程序。当自定义映像可以按你的意愿在本地正常运行时,可以将其部署到适用于容器的 Azure Web 应用,而无需再部署代码。

相关内容

最新更新