Azure:如何创建预装指定特殊包的VM运行环境?
安装Ubuntu系统级依赖的环节与操作方式
根据你使用的Azure部署服务不同,对应的配置环节和操作方式如下:
场景1:使用Azure机器学习(Azure ML)工作区部署
- 配置时机:环境定义环节
- 若使用conda依赖文件定义环境,在
conda_dependencies.yml中新增apt字段声明系统包,示例配置:
- 若使用conda依赖文件定义环境,在
name: model-env channels: - conda-forge dependencies: - python=3.9 - apt: - 你的特殊Ubuntu包名 - pip: - python-wrapper - 其余pip依赖包
- 若使用自定义Dockerfile构建环境,直接在Dockerfile中添加apt安装命令,示例:
FROM mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest RUN apt update && apt install -y 你的特殊Ubuntu包名 && rm -rf /var/lib/apt/lists/*
- 提交部署任务后,Azure ML会自动按配置先安装系统包,再配置Python依赖环境。
场景2:使用Azure虚拟机/App Service部署
- 虚拟机部署:配置时机为实例初始化环节,在实例的cloud-init启动脚本中写入
apt install -y 你的特殊Ubuntu包名命令即可,也可首次登录实例手动执行该命令,注意需在启动Python模型服务前完成安装。 - App Service部署:配置时机为服务配置环节,在服务配置页的「启动命令」字段最开头添加安装指令,示例:
apt update && apt install -y 你的特殊Ubuntu包名 && gunicorn app:app,也可在自定义构建镜像的Dockerfile中写入apt安装逻辑。
场景3:使用Azure Functions部署
- 配置时机:项目打包环节,在项目根目录下新建名为
apt-packages的文件,每行写一个需要安装的Ubuntu系统包名,函数平台构建时会自动读取该文件安装对应依赖。
注意:所有安装方式都需确保系统包安装步骤早于Python依赖加载、Python服务启动的步骤,避免wrapper运行时找不到底层依赖报错。
内容的提问来源于stack exchange,提问作者Avocado
相关产品推荐
相关产品推荐

