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

Docker启动RabbitMQ管理镜像访问报无login.ejs模板错误原因问询

报错根因分析

两个启动命令的核心差异是是否配置了Docker端口映射,报错逻辑完全可以通过端口映射规则解释:

  • 你使用的第一条启动命令没有添加-p端口映射参数:
    docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3-management
    
    Docker默认不会自动把容器端口暴露到宿主机网络,因此这条命令启动的RabbitMQ容器的15672、5672端口仅能通过容器自身的IP访问,无法通过localhost访问。你此时访问http://localhost:15672拿到的报错,实际上来自于你本地环境中之前已经存在的、占用了15672端口的异常RabbitMQ实例,该实例的管理插件静态资源损坏/缺失,才会抛出There is no template at js/tmpl/login.ejs的模板不存在错误,和你刚启动的新容器没有任何关系。
  • 你使用的第二条启动命令显式配置了端口映射:
    docker run -it --rm --name mymq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
    
    -p 15672:15672参数会将宿主机15672端口的所有流量转发到新容器的15672端口,此时你访问localhost:15672的请求会直接打到刚启动的正常RabbitMQ容器上,自然可以正常加载管理界面资源。

验证逻辑参考:在执行第一条命令启动容器后,执行docker inspect some-rabbit | grep IPAddress拿到容器专属IP,直接访问http://容器IP:15672,会发现界面可以正常打开,不存在模板报错问题。

内容的提问来源于stack exchange,提问作者Jakob Busk Sørensen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:24:05