请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

镜像已经可以push,但是私有registry api无法访问

docker1机器

docker2机器
老师您好哈,搭建私有仓库,那些步骤都做了哈,包括修改daemon.json还有docker.service指定进程读取daemon.json的配置都配置了,自己利用Dockerfile构建好新镜像已经push到 另一台机器的私有仓库了,有个问题
1,我通过curl 还是mac的浏览器 都无法访问 ip:port/v2/_catalog 的API接口都是无法访问,dockder1机器上提示路由的问题,很奇怪,我是vmware的2个虚拟机 都是虚拟网桥的,都能ping通
2,我的慕课id 7140340 已经在您的gitlab上注册了哈,麻烦您通过一下哈

正在回答

4回答

您好,我看您的log,push并没有成功啊。

您能访问到192.168.50.90么?能ping通么?感觉是您的网络问题。试试把防火墙都关了

0 回复 有任何疑惑可以回复我~
  • 提问者 wyzerg #1
    老师我发了问题复现的截图,帮忙看看吧,我排查两天没发现问题,我又重新部署了一遍,复现了这个问题````?
    回复 有任何疑惑可以回复我~ 2020-04-24 11:55:25
  • 提问者 wyzerg #2
    可能是docker 网络的问题,老师 我做了排除法, 我hostname为docker2哪台机器 吧docker服务停了,启动web服务 暴露5000端口,我要push的docker1机器去访问5000端口就一点问题都没有...telnet都是通的,所以和两台机器网络没有啥关系,应该是docker2的docker服务启动后,起的那个registry 容器服务占用5000端口,监听是tcp6监听的 ,而我起的web服务5000端口是tcp监听的,可能出在docker设置网络上 或者 tcp6的问题。。
    回复 有任何疑惑可以回复我~ 2020-04-24 12:37:57
  • 麦兜搞IT 回复 提问者 wyzerg #3
    说下你微信,我加下你微信吧
    回复 有任何疑惑可以回复我~ 2020-04-24 15:32:49
提问者 wyzerg 2020-04-28 17:17:09

解决了,网络问题 是虚拟机的问题,我换了老师一模一样的vagrant+virtualbox虚拟机之后,同样的部署网络就通了,后面的同学建议都换这套虚拟机部署

1 回复 有任何疑惑可以回复我~
提问者 wyzerg 2020-04-24 12:19:34

我怀疑是registry私有仓库有问题,或者说监听 tcp6 的5000端口有问题,因为,不是tcp而是tcp6

我在私有仓库服务器上起了个web程序 暴露8888端口

然后我测试端口是否成功,telnet也返回成功

[root@docker1 df1]# telnet 192.168.50.90 8888

Trying 192.168.50.90...

Connected to 192.168.50.90.

Escape character is '^]'.


Connection closed by foreign host.


 curl 访问url 却是成功的,所以我怀疑在5000暴露端口上可能有问题,老师你了解吗....

//img1.sycdn.imooc.com//szimg/5ea268cb09290af719180440.jpg

0 回复 有任何疑惑可以回复我~
提问者 wyzerg 2020-04-24 11:53:44

https://img1.sycdn.imooc.com/szimg/5ea2623909a5d3ce19181052.jpg


老师我重新部署,复现了该问题,左边机器能ping通右边机器,并且右边对外暴露5000端口 ,监听tcp6的5000端口,我的配置和调试 都打在图里了,但是就是无法推送 ,总报 路由的问题,这两个虚拟机(宿主机)都是网桥模式,并且部署的docker cli和service都是同版本,不晓得哪里出了问题?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信