首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
›
Docker Engine Quickstart
›
Boot2docker
V2EX
›
Docker
网络是通的,但无法连接到 docker 网络
Forbidden
·
2022-08-17 22:22:16 +08:00
· 1119 次点击
这是一个创建于 774 天前的主题,其中的信息可能已经有所发展或是发生改变。
我为了能直接访问 docker 内部,我在路由器上加了静态路由,172.17.0.0/16 指向宿主机
A 是宿主系统 PhotonOS4/debian11(192.168.10.2),
B 是容器(172.17.0.2),C 是 win10(192.168.10.3)
AB 能互 ping ,AC 能互 ping ,
BC 之间刚开始能互 ping ,但是什么都没动过了 1 天就连不上了,B 能 pingC ,但 C 不能 pingB
重启了宿主 A ,重启了服务,没有变化
traceroute 能看到 A 响应第二跳了,就是容器一直没有反应
奇了个怪,以前也搞过这样的操作也没问题,而且这不是跨主机访问容器的方法吗,怎么失效了?
ping
容器
Docker
宿主
4 条回复
•
2022-08-18 10:34:18 +08:00
1
chuckzhou
2022-08-17 23:33:09 +08:00
缺省 B 在 NAT 后面,C 肯定是 ping 不到 B 的。
你看看是不是 masquerade 又被 docker engine 自动打开了。
还有 net.ipv4.ip_forward 是不是 1 ?
2
chuckzhou
2022-08-17 23:35:20 +08:00
而且访问容器基本不这么做。正常就是用 -p 把业务端口暴露出来就行了。
3
Forbidden
OP
2022-08-18 09:53:28 +08:00
@
chuckzhou
net.ipv4.ip_forward = 1 ,开 /关 masquerade 都试了,都不行
按正常脑子没病都不会这样操作,我属于脑子有病,用动态端口,而且还定时换端口
我能想出来改动最小的就是用 静态路由+upnp ,都是现成的功能,都不需要太多额外设置
4
Forbidden
OP
2022-08-18 10:34:18 +08:00
@
chuckzhou
解决了,iptables forward 链 drop 改成 accept ,能 ping 通容器了
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
3536 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms ·
UTC 10:05
·
PVG 18:05
·
LAX 03:05
·
JFK 06:05
Developed with
CodeLauncher
♥ Do have faith in what you're doing.