当前位置: 首页 > article >正文

docker推送本地仓库报错

(base) root@ainode3:~# dp 192.168.2.186:5000/bert-deepspeed:latest
The push refers to repository [192.168.2.186:5000/bert-deepspeed]
Get "http://192.168.2.186:5000/v2/": dial tcp 192.168.2.186:5000: connect: connection refused

排查思路如下:
首先docker ps | grep you_container,然后看看是不是容器崩掉了,直接重新启动就行了

从错误信息来看:

Get "http://192.168.2.186:5000/v2/": dial tcp 192.168.2.186:5000: connect: connection refused

问题是 Docker 在尝试推送镜像到 192.168.2.186:5000 时,无法连接到该地址。具体问题可能是目标 Docker 镜像仓库服务没有运行,或者目标服务器上的 5000 端口没有开放。

排查和解决步骤

1. 检查目标服务器的 Docker Registry 服务

确保目标服务器上的 Docker Registry 服务已经启动,并且在 5000 端口监听。你可以通过以下命令检查:

sudo systemctl status docker-registry

如果没有启动 Docker Registry 服务,可以通过以下命令启动它:

sudo systemctl start docker-registry

如果你的 Docker Registry 是通过 Docker 容器运行的,可以使用以下命令查看容器的状态:

docker ps | grep registry

如果没有运行,请启动 Docker Registry 容器:

docker run -d -p 5000:5000 --name registry registry:2
2. 检查防火墙设置

确保目标服务器(192.168.2.186)的防火墙没有阻止 Docker Registry 的端口(5000)。你可以查看防火墙规则并允许访问该端口:

sudo ufw allow 5000/tcp

如果你使用的是 iptables,可以添加相应的规则:

sudo iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
3. 确保目标机器上 Docker 正在运行

确保目标服务器上的 Docker 服务是运行的,可以使用以下命令查看 Docker 服务状态:

sudo systemctl status docker

如果 Docker 服务未启动,启动它:

sudo systemctl start docker
4. 确认 Docker Registry 可用

你可以尝试在目标服务器上执行 curl 命令检查 Docker Registry 是否可用:

curl http://192.168.2.186:5000/v2/

如果返回 {"errors":[{"code":"UNAUTHORIZED","message":"authentication required"}]} 或其他正常的响应,说明 Docker Registry 服务正在正常运行。如果没有响应或显示连接被拒绝,则说明问题可能出在服务器配置或网络问题上。

5. 检查 Docker 镜像推送的命令格式

确保你推送镜像的命令格式是正确的。例如:

docker tag bert-deepspeed:latest 192.168.2.186:5000/bert-deepspeed:latest
docker push 192.168.2.186:5000/bert-deepspeed:latest

确保镜像标签已经正确设置为目标仓库地址。

6. 检查 Docker 配置

如果你的 Docker Registry 配置为使用 HTTPS 连接而不是 HTTP,请确保客户端配置正确,并且你为 Registry 配置了正确的 SSL/TLS 证书。如果 Registry 使用 HTTP,请确保你在 Docker 配置文件中正确设置了不安全的注册表:

编辑 /etc/docker/daemon.json

{
  "insecure-registries": ["192.168.2.186:5000"]
}

然后重启 Docker 服务:

sudo systemctl restart docker

总结

  • 确保目标服务器上的 Docker Registry 服务正常运行。
  • 检查防火墙设置,确保 5000 端口可访问。
  • 确认目标机器上的 Docker 服务正常运行。
  • 测试 Docker Registry 服务的可用性(使用 curl 或其他工具)。
  • 确保推送命令格式正确并且镜像标签已经设置正确。

通过这些步骤,你应该能够解决 connection refused 的问题。

原文地址:https://blog.csdn.net/weixin_45056021/article/details/145041441
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/501810.html

相关文章:

  • 价值分解方法(QMIX、VDN、FACMAC、VDA2C)整理
  • 联合体(Union)
  • css盒子水平垂直居中
  • 【C++】构造函数与析构函数
  • 如何在Mac上使用Brew更新Cursor应用程序
  • 深度学习图像算法中的网络架构:Backbone、Neck 和 Head 详解
  • 2025年VGC大众汽车科技社招入职测评综合能力英语口语SHL历年真题汇总、考情分析
  • 嵌入式入门Day42
  • Centos8部署Redis Cluster
  • STM32——点亮LED
  • shell脚本回顾1
  • [文献精汇]使用 LSTM Networks 的均值回归交易策略
  • 2024年开发语言热度排名
  • ECharts实战:在UniApp中实现动态数据可视化
  • 奇迹mu1.03单机版安装教程+无需虚拟机+GM工具
  • HTML和CSS相关详解,如何使网页为响应式?
  • vue如何把有效URL地址通过接口file文件重新上传
  • 作业:IO:day??
  • docker的数据卷和自定义镜像
  • Python 二次元初音未来桌宠
  • 什么是数据仓库?
  • Perl语言的循环实现
  • 深入了解 Redis Stream 数据类型及其在事件流系统中的应用
  • 【Android】直接使用binder的transact来代替aidl接口
  • nacos从1.x升级到2.4.3问题记录
  • 【C++指南】模板 深度解析