docker 容器通过桥接方式绑定到宿主机无法访问另外一个docker容器

背景

  公司最近前后端项目发布方式转型到容器化方式,docker的端口映射其实是通过iptables或者firewalld进行转发访问,而公司本身针对网络进行了策略访问,所以再发布的过程中出现了容器内部访问80端口可以,其他端口均提示“NO ROUTE TO HOST“。而查阅了baidu的相关资料,基本没有针对该问题具有比较好的解决方案

解决思路

  docker container的桥接模式是通过内部 网络地址172.17.*.*,桥接到外部的docker0 进行到外网通讯的。查看桥接的内部Container 可以通过  docker network inspect bridge查看。

那么也就是说我们需要在主机的网络访问策略中增加外部的端口访问权限。而本身桥接他就只是进行了网络的转发,并未在路由规则中添加对应的访问。

解决方案

  方式1.如果仅仅是开放某些端口访问(针对8765端口开放),可以通过 如下规则,(如果是firewalld ,写法上有区别)

ACCEPT     tcp  --  172.17.0.0/16        0.0.0.0/0            tcp dpt:8765

 

       方式2.如果是针对docker设置的端口进行全部开放,则在规则的上方增加

-A INPUT -i docker0 -j ACCEPT

 

 

转载请注明出处: https://www.cnblogs.com/dyft/articles/10058840.html 

转载于:https://www.cnblogs.com/dyft/p/10058840.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值