当前位置: 首页 > article >正文

docker默认网段和宿主机环境冲突时的处理

文章目录

  • 修改 docker0 默认网段
    • 场景:
    • 处理:
  • 修改docker_gwbridge 默认网段
    • 场景:
    • 处理
      • 第一步:修改docker配置文件
      • 第二步:停止docker服务
      • 第三步:删除local-kv.db文件
      • 第四步: 启动docker 服务
      • 验证是否生效:

修改 docker0 默认网段

场景:

在某些云环境中(如公司机房的私有云),172.17.0.0/16 这个网段已被云中的网络设备使用,在这种环境下,docker0 不能正常打开,这时候需要修改它的网段。或者 docker0 创建后,占用的 172.17.0.0/16 这个网段导致客户云环境的其他功能出现异常,这种场景下也需要修改 docker0 的网段。

处理:

在目录 /etc/docker/daemon.json 文件中添加如下内容:

{
  "bip": "172.23.248.0/21"
}

修改docker_gwbridge 默认网段

场景:

docker_gwbridge是Docker内部用来连接容器和宿主网络的一个桥接网络。默认情况下,它的IP地址段是172.18.0.0/16,对吧?可能有时候这个网段和现有的网络冲突了,所以需要改。那么需要怎么修改呢?在网上找了很多方案总是不生效,后面终于找到了一种解决方式,下面总结一下操作步骤:

处理

第一步:修改docker配置文件

在目录 /etc/docker/daemon.json 文件中添加如下内容:

"default-address-pools": [
        {
            "base": "193.168.0.0/16", 
            "size": 24
        }
    ]

Tips:网段后面的数字代表子网掩码中连续1的长度

  • 如:“192.168.5.0/24” 代表的是:“255.255.255.0”
  • 如:“192.168.0.0/16” 代表的是:“255.255.0.0”
  • 如:“192.0.0.0/8” 代表的是:“255.0.0.0”

第二步:停止docker服务

systemctl stop docker

第三步:删除local-kv.db文件

cd /var/lib/docker/network/files/
cp local-kv.db  local-kv.db.bak
rm local-kv.db

Tips: 这一步很重要,如果不执行该步骤可能在第一步中增加的配置不会生效。

第四步: 启动docker 服务

systemctl start docker

验证是否生效:

route -n
Kernel IP routing table
Destination     Gateway          Genmask      Flags   Metric  Ref  Use  Iface
0.0.0.0         172.253.95.254   0.0.0.0       UG     100     0     0   ens192
172.18.0.0      0.0.0.0          255.255.0.0   U      0       0     0   br-59d6d8c036cd
172.253.92.0    0.0.0.0          255.255.252.0 U      100     0     0   ens192
192.168.100.0   0.0.0.0          255.255.255.0 U      0       0     0   docker0
193.168.0.0     0.0.0.0          255.255.255.0 U      0       0     0   docker_gwbridge

可以看到,docker_gwbridge的网段已经更改过来了。


http://www.kler.cn/a/572473.html

相关文章:

  • pytorch获取模型性能
  • 【GPU使用】如何在物理机和Docker中指定GPU进行推理和训练
  • 一、docker初识
  • 【在线用户监控】在线用户查询、强退用户
  • Java利用JSch进行SFTP进行SSH连接远程服务器进行目录创建与上传文件,ChannelSftp
  • 学单片机能从事什么工作?
  • 【华为OD机考】华为OD笔试真题解析(20)--投篮大赛
  • 安卓广播的使用
  • Elasticsearch:简化大数据分析,使用Elasticsearch进行高效数据聚合
  • LeetCode hot 100—轮转数组
  • visual studio 2022 手工写一个简单的MFC程序
  • [原创](Modern C++)现代C++的关键性概念: 什么是友元函数, 什么是友元类?
  • css不出现滚动条
  • T-SQL 语言基础: SQL 数据库对象元数据及配置信息获取
  • 计算机网络——子网掩码
  • 网络安全中keli是什么
  • 初识Qt · 实现hello world的N种细节和对象树
  • Springboot快速接入Deepseek
  • 椭圆函数3D双重周期性交互式演示工具
  • 【hot100】102二叉树的层序遍历