CentOS虚拟机推送Docker镜像至私有云遇connection reset by peer报错求助
Docker镜像推送私有仓库遇
connection reset by peer的解决思路 我来帮你梳理下这个问题的排查方向,这种连接重置的错误大多和网络连通性、私有仓库配置或者Docker的安全设置有关,给你几个具体的解决步骤:
先确认网络连通性
在你的CentOS虚拟机上,先测试和私有仓库的网络是否能正常通信:nc -zv 172.16.19.148 5000 # 或者用telnet telnet 172.16.19.148 5000如果连接失败,优先排查网络问题:
- 检查两台机器是否在同一网段,或者路由是否可达;
- 查看私有仓库所在机器的防火墙/安全组,确认5000端口已经开放(CentOS可用
firewall-cmd --list-ports检查,必要时用firewall-cmd --add-port=5000/tcp --permanent && firewall-cmd --reload开放); - 确认私有仓库的服务是否正常运行(比如用
docker ps查看容器状态)。
检查Docker对非HTTPS仓库的安全配置
如果你的私有仓库是HTTP协议(没有配置SSL证书),Docker默认会拒绝向这类仓库推送镜像,这是很常见的坑。需要修改/etc/docker/daemon.json添加不安全仓库配置:{ "max-concurrent-uploads": 1, "insecure-registries": ["172.16.19.148:5000"] }保存后重启Docker服务:
systemctl restart docker之后再尝试推送镜像。
验证私有仓库的路径配置
如果你用的是Nexus这类仓库管理工具,要确认你推送的路径dockercitoolstack_nexus是否已经在Nexus中创建了对应的Docker hosted仓库,并且仓库的路径配置和你标签里的一致。如果仓库不存在,也可能触发异常的连接重置错误。排查系统层面的限制
- 临时关闭SELinux试试:
setenforce 0,如果关闭后能正常推送,说明SELinux阻止了Docker的网络请求,后续可以配置SELinux规则允许Docker访问该仓库; - 检查系统的网络参数,比如
sysctl net.ipv4.tcp_syncookies是否开启,或者有没有TCP连接数限制,必要时调整相关参数。
- 临时关闭SELinux试试:
查看日志定位细节
查看私有仓库的日志(比如Nexus容器日志:docker logs <你的Nexus容器ID>)和Docker服务日志(journalctl -u docker.service),里面会有更详细的错误信息,能帮你精准定位问题根源。
内容的提问来源于stack exchange,提问作者guguli
相关产品推荐
相关产品推荐

