首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >修改docker_gwbridge网络的ip网段

修改docker_gwbridge网络的ip网段

作者头像
johnhuster的分享
发布2022-03-28 21:44:59
发布2022-03-28 21:44:59
1.9K0
举报
文章被收录于专栏:johnhusterjohnhuster

先说下为什么要修改

1、有个子网api所处的网段与docker_gwbridge网段冲突,导致docker容器无法调用api

为什么会出现网络访问问题

为什么会出现当网段冲突时就无法发送http请求了,这就必须得提下docker_gwbridge的作用

docker_gwbridge接口为使用多主机群覆盖网络的所有容器和任务提供默认网关功能。它是在每个Docker主机上创建的,当它们加入集群时。

docker_gwbridge是一个本地桥接网络,在以下两种情况会自动创建:

(1)初始化或者加入一个 swarm 集群时,用来在不同 hosts 主机的不同节点间进行通信;

(2)再容器中的所有网络都不能访问外部时,Docker 会将docker_gwbridge网络加入到容器中,用来访问外部网络或者其他的集群节点。

网关的作用就是网络转发,所以172.18请求在本地的docker_gwbridge虚拟网关拦截后就会进入虚拟网段中,导致无法向外转发网络请求

如何修改docker_gwbridge所处网段

1、要删除docker_gwbridge这个网络,但是一般是无法直接删除的,因为被很多容器使用,可以通过docker network inspect docker_gwbridge查看被哪些容器占用

2、断开这个容器与docker_gwbridge网络的连接,执行命令

docker network disconnect docker_gwbridge gateway_58c774b3bf06 -f

其中gateway_58c774b3bf06为上图中Container中Name字段数据

3、等到docker network inspect docker_gwbridge为空时执行命令docker network rm docker_gwbridge删除该网关

4、创建docker_gwbridge网关并指定网段

docker network create \ --subnet 10.20.0.0/20 \ --gateway 10.20.0.1 \ -o com.docker.network.bridge.enable_icc=false \ -o com.docker.network.bridge.name=docker_gwbridge \ docker_gwbridge

备注

上述修改在网段冲突的swarm节点执行

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先说下为什么要修改
  • 为什么会出现网络访问问题
  • 如何修改docker_gwbridge所处网段
  • 备注:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档