虚拟机 docker 私有 registory 搭好无法访问,防火墙都关了还是 telnet 不到端口,哪位屌大老哥帮忙看看~

2020-04-23 00:16:47 +08:00
 wyzerg

2 台虚拟机,1 个是通过命令直接起了个私有 registry docker run -d -p 5000:5000 --restart always --name registry registry:2

一个通过 Dockerfile 新 build 的镜像,改了配置开始 push 镜像到私有仓库 结果报 Error response from daemon: Get http://192.168.50.90:5000/v2/: dial tcp 192.168.50.90:5000: connect: no route to host

结果我试了下虚拟机 2 个都能 ping 通,由于第二太机器私有仓库端口映射对外也暴露 5000 所以第一台 telnet 192.168.50.90 5000 返回 telnet: connect to address 192.168.50.90: No route to host 很纳闷,2 个防火墙都关了,总是报路由的问题,私有仓库那台映射也做了,有没有老哥或者屌大的懂哪里出问题的.....

1718 次点击
所在节点    问与答
6 条回复
luckyrayyy
2020-04-23 00:51:24 +08:00
看着不像 registry 的问题啊,俩虚拟机互相之间都没通的样子。你怀疑 registry 的话先看它的日志呗。
nvkou
2020-04-23 01:21:58 +08:00
没看懂你需求
1:同宿主机的 2 虚拟机通信。使用 network 参数分配到同一网络即可。使用 container 名称访问,自带 host

2:虚拟机 a 对宿主机发布服务。使用 port 参数映射端口。服务使用者根据网段访问宿主机 eth0 或 docker0 的地址。相关防火墙要放行

问题原因:你虚拟机 b 默认网络是网关模式,你无法从一个私有地址直接跳到另一个私有地址。论我怎么从我家的 192.168.1.2 访问到隔壁家的 192.168.1.2 ?
wyzerg
2020-04-23 11:39:13 +08:00
@nvkou 好像是这个原因,我主要 2 个虚拟机都在同一网段,第 1 个虚拟机构建新镜像 push 到第 2 个虚拟机的 registry 实例中,而且默认 2 台宿主机 docker0 应该都是同一网段吧,那是不是我需要更改一下第二台宿主机的 docker0 地址,只要 2 个机器 docker0 不在同一网段就行?
nvkou
2020-04-23 13:04:02 +08:00
@wyzerg 嗯?你在说啥?这 2 个虚拟机还不在同一个宿主上?
docker0 是宿主的虚拟网卡,也是 docker 网络访问外部的网关,一个宿主机一个。你可以试试这样。
ifconfig 或其他命令查询到你的 docker0 地址 比如 172.17.12.0
然后 你的 A 机器 -p 5000:5000
你的 B 机器访问 172.17.12.0:5000 就行了
wyzerg
2020-04-23 13:31:57 +08:00
@nvkou 😂 是这样的...我 mac 新建 2 个虚拟机,docker1 (192.168.50.173)和 docker2 (192.168.50.90),这两个虚拟机也分别部署了 dooker cli 和 docker service,而且这 2 个虚拟机 docker0 都是 172.17.0.1/16
然后我是在 docker1 上构建新镜像 想 push 到 docker2 部署的 registry 上,docker2 是通过
docker run -d -p 5000:5000 --restart always --name registry registry:2
命令部署的,我在 docker2 进入容器 registry 看到 ip 是 172.17.0.2/16,所以 push 是 docker push 192.168.50.90:5000/hello-world 是要 push 到 docker2 上的 registry😂
您说"你的 A 机器 -p 5000:5000" 这是啥哈?
wyzerg
2020-04-23 14:24:29 +08:00
@nvkou 想了想😂,192.168.50.173 和 192.168.50.90 能 ping 通。。。已经代表能访问过去了,我只需要访问 192.168.50.90:5000 就能访问到 registry 了,可是不知道哪里出了问题访问不到....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665168

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX