You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ML Notebook内构建Docker镜像并部署Web应用方案咨询

在Azure ML Notebook环境内完成Docker镜像构建与Web Demo测试的方案

1. 能否在Azure ML Notebook中构建Docker镜像并推送至Azure Container Registry(ACR)?

完全可以,以下是两种适配Azure ML环境的实现方式:

方式一:直接使用Docker命令(需Compute Instance支持Docker)

  • 确保你的Azure ML Compute Instance已启用Docker(默认大部分实例类型都已预装)
  • 在Notebook工作目录下编写Dockerfile,定义你的Python应用环境与启动逻辑
  • 给镜像打上ACR的完整标签:
    docker build -t <你的ACR名称>.azurecr.io/<镜像名>:<版本号> .
    
  • 通过Azure CLI登录ACR:
    az acr login --name <你的ACR名称>
    
  • 推送镜像至ACR:
    docker push <你的ACR名称>.azurecr.io/<镜像名>:<版本号>
    

方式二:使用Azure ML原生工具构建(更贴合Azure生态)

通过azureml.core库的Environment和BuildContext来构建镜像并推送至关联的ACR:

from azureml.core import Workspace, Environment
from azureml.core.environment import BuildContext

ws = Workspace.from_config()
# 关联你的ACR(若未关联,可在Azure ML工作区设置中绑定)
env = Environment(name="my-app-env")
env.docker.base_image = None
env.docker.base_dockerfile = "./Dockerfile"
# 构建并推送镜像至ACR
env.build(workspace=ws, build_context=BuildContext("./"))
env.register(workspace=ws)

2. Azure Notebook无法托管Web门户的快速测试解决方案

无需离开Azure环境,可通过以下三种方案快速测试Streamlit/Gradio/FastAPI的布局与功能:

方案1:Compute Instance端口转发(最便捷的临时测试)

  • 在Azure ML Compute Instance的Notebook中运行Web应用,指定端口(以Streamlit为例):
    streamlit run app.py --server.port 8501
    
  • 切换到Compute Instance的端口页面(在Notebook界面左侧导航栏),点击"添加端口",输入8501,系统会生成一个Azure内部可访问的临时链接,直接在浏览器中打开即可测试布局,链接仅在Compute Instance运行时有效,符合保密要求。

方案2:Azure ML在线推理端点部署

  • 将已推送至ACR的镜像部署到Azure ML 托管在线端点,部署时配置启动命令(以Streamlit为例):
    streamlit run app.py --server.port $PORT
    
  • 部署完成后,端点会生成一个可访问的URL,用于测试Web应用的完整功能与布局,测试完成后可暂停或删除端点以节省成本。

方案3:Azure App Service临时部署

  • 从ACR将Docker镜像部署到Azure App Service,选择"容器"部署模式,配置启动命令与端口映射
  • App Service会提供一个临时域名,用于快速测试Web应用,测试完成后可删除App Service资源,避免不必要的开支

内容的提问来源于stack exchange,提问作者stackword_0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:38:27