宝塔面板 Docker 安装 RabbitMQ 失败排查与解决

宝塔面板 Docker 安装 RabbitMQ 失败排查与解决

遇到的报错short read: expected 1614869 bytes but got 0: unexpected EOF,根本原因是Docker 镜像拉取过程中网络连接中断。在国内服务器环境下,这通常是由于 Docker Hub 官方源访问不稳定导致的。

请按以下顺序尝试解决:

方案一:配置 Docker 镜像加速器(成功率最高)

这是解决国内服务器拉取镜像慢或失败的最有效方法。

  1. 登录宝塔面板,点击左侧菜单【Docker】

  2. 进入顶部导航栏的【设置】

  3. 找到 **【镜像加速器】**​ 配置项。

  4. 填入以下国内加速地址(如有旧地址,请用英文逗号,隔开追加):

    https://docker.m.daocloud.io, https://dc.j8.work, https://huecker.io
  5. 保存​ 并重启 Docker 服务(或执行systemctl restart docker)。

  6. 重启后,重新尝试安装 RabbitMQ。

方案二:清理 Docker 缓存与残留

之前的下载中断可能导致缓存文件损坏,阻碍新下载。

  1. 打开宝塔 **【终端】**​ 或 SSH 连接服务器。

  2. 执行清理命令(会删除所有未使用的容器、镜像和网络,请谨慎操作):

    docker system prune -a -f
  3. 清理完成后,回到面板重试安装。

方案三:限制 Docker 下载并发数

如果服务器带宽较低,多线程下载可能导致丢包中断。

  1. 编辑 Docker 配置文件:

    vi /etc/docker/daemon.json
  2. 添加或修改以下内容(限制为单线程下载):

    { "max-concurrent-downloads": 1 }
  3. 重载配置并重启 Docker:

systemctl daemon-reload systemctl restart docker

方案四:手动拉取镜像(终极方案)

如果宝塔一键安装脚本始终卡住,可以绕过它,手动部署。

  1. 手动拉取镜像(建议使用带管理后台的版本):

    docker pull rabbitmq:3.13-management
  2. 在宝塔 **【Docker】**​ -> **【容器】**​ 中点击【创建容器】

  3. 选择刚才拉取的rabbitmq镜像。

  4. 端口映射:务必映射5672(服务端口)和15672(Web管理端口)。

  5. 启动容器即可。


💡 注意事项

  • 端口开放:确保服务器防火墙及云服务商安全组已放行567215672端口。

  • 磁盘空间:检查服务器磁盘是否已满(df -h),空间不足也会导致解压失败。