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

在Azure中用Docker部署第二个R Shiny应用服务无法访问求助

问题分析与解决方案

1. 端口配置的核心误区

你在Shiny脚本中指定shiny.port = 8000是容器内部的监听端口,但Azure App Service默认只会自动映射容器的80或8080端口到外部访问端口。第二个应用虽然容器内用了8000端口,但App Service没有配置该端口的映射规则,导致外部请求无法到达容器内的Shiny服务。

修正操作:

在Azure Portal找到第二个App Service,进入「配置」>「容器设置」,在「容器端口」栏填写8000,保存配置后重启应用服务即可。

2. 关于单个容器注册表(ACR)部署多应用的疑问

你的理解完全正确:单个ACR可以存储多个独立的Docker镜像,每个镜像对应一个App Service。ACR仅作为镜像仓库使用,与App Service的数量没有绑定限制,只要每个App Service指向ACR中对应的镜像,再通过各自的端口映射配置避免容器内的端口冲突即可,ACR层面不存在端口冲突问题。

3. 额外排查方向

  • 查看第二个App Service的容器日志:进入「日志」>「容器日志」,确认Shiny应用是否正常启动,是否存在容器内端口被占用等报错。
  • 检查Dockerfile配置:确保第二个应用的Dockerfile中添加了EXPOSE 8000语句,帮助App Service识别容器内部的监听端口(手动配置容器端口优先级更高)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:02:14