请问 能否可以设置一条规则, 实现容器内部(docker0 网桥下的容器)访问主机上监听 127.0.0.1 的防火墙规则。
我的理解是 容器内部的流量从 docker0 网卡出来 会走到 eth0 网卡 然后 dnat 以下就行
实际上不能这样配置,这种路由可行吗
请问 能否可以设置一条规则, 实现容器内部(docker0 网桥下的容器)访问主机上监听 127.0.0.1 的防火墙规则。
我的理解是 容器内部的流量从 docker0 网卡出来 会走到 eth0 网卡 然后 dnat 以下就行
实际上不能这样配置,这种路由可行吗
|
liuxuAug 4, 2022
1
docker network 直接使用 host driver
|
|
2
@liuxu 嗯嗯这是一种办法 目前主要是想测试 本机的 127.0.0.1 在容器中如何访问
|
|
liuxuAug 4, 2022
3
@yingqiuQAQ 那需要在 eth0 和 docker0 上添加 iptables 规则,然后 host 的路由表也要改改,连通下 eth0 和 docker0
vagrant@homestead:~/work/tms-api$ ip route default via 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 100 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 10.0.2.2 dev eth0 proto dhcp scope link src 10.0.2.15 metric 100 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown vagrant@homestead:~/work/tms-api$ sudo iptables -t nat -L Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 172.17.0.0/16 anywhere |
|
saltboAug 4, 2022
4
通过 docker0 的 ip 就能直接访问啊
|
|
zwlincAug 4, 2022
5
宿主机的服务只绑定 127.0.0.1 吗,这种情况下,容器用哪个 IP 访问宿主机呢?
|
|
hefishAug 4, 2022
6
本机的 127.0.0.1 要想访问,我觉着可以 docker 的各个容器里配好 ospf 协议,组成一个复杂的网络。
不然我也想不出办法去访问别人的 loopback 地址, |
|
mikeguanAug 4, 2022 via Android
7
不知道 lo 绑个 IP 有没有用,明天试下
|
|
pmispigAug 4, 2022
8
如果换个思路就简单很多,再创建一个桥,把这个本来应该在 127.0.0.1 的服务 bind 到这个桥 IP 试试。
或者干脆直接 bind 到 docker0 这个桥 IP |
|
censeAug 5, 2022 via Android
9
host.docker.internal 不行吗?
|