• 修改docker ip网段


    一 问题描述

    用docker方式安装完archery后,网络同事反馈该archery服务器的网段和现有网段冲突了,我在archery服务器上,的确发现docker自动生成了几个网卡:

     #查看docker使用的网卡

    [root@Archery ~]# docker network ls

    NETWORK ID          NAME                    DRIVER              SCOPE

    e4837687da0a        bridge                  bridge              local

    c83400d3d65b        dockercompose_default   bridge              local

    c3278ad1561a        host                    host                local

    03b5d80a9f9f        none                    null                local

    #查看dockercompose容器对应的ip

     可以看到自动生成的ip都是172.18网段的,和生产网段冲突,需要想将其改成不同网段。

    二 解决办法

    2.1 改docker的ip网段

    vi /etc/docker/daemon.json

    新增"bip":"192.166.0.1/24"

    修改后:

    {

    "bip":"192.166.0.1/24"

    }

    #重启docker

    systemctl restart docker

    #检查确认

     2.2 改docker-compose的ip网段

    vi /usr/local/archery/src/docker-compose/docker-compose.yml

    在version: '3'下面添加:

    networks:

        study_net:

            ipam:

                driver: default

                config:

                    - subnet: 192.167.1.0/24

    然后在每个服务下面添加如下内容(注意修改下每个服务的ip,每个服务的ip应该是唯一的):

      networks:

                study_net:

                    ipv4_address: 192.167.1.2

    示例:

     ……

    #重启docker-compose服务

    docker stop archery

    /usr/local/bin/docker-compose -f /usr/local/archery/src/docker-compose/docker-compose.yml up -d

     可以看到,新增了一块儿网卡:

     [root@Archery ~]# docker network ls

    NETWORK ID          NAME                      DRIVER              SCOPE

    e4837687da0a        bridge                    bridge              local

    c83400d3d65b        dockercompose_default     bridge              local

    6a5f5110d843        dockercompose_study_net   bridge              local

    c3278ad1561a        host                      host                local

    03b5d80a9f9f        none                      null                local

     可以看到新网卡下的容器都是新网段的了。

    之前网卡下没有容器了:

     

    2.3 删除旧网卡

    docker network rm c83400d3d65b

    --本篇文章参考了https://github.com/yann0917/docker-deploy

  • 相关阅读:
    德思特分享丨一文带你了解ADC测试参数有哪些?
    信奥中的数学:排列组合
    探索GmSSL+Nginx实践及原理
    JavaScript【实例、静态方法与属性、原型链、instanceof 运算符、Object 对象的相关方法、对象的继承、多重继承、严格模式】(十九)
    【redis进阶】基础知识简要回顾
    [Java、Android面试]_21_Dalvik VM与JVM的区别
    mac idea 解决0% classes 0% lines covered不显示,非快捷键办法
    【计算机网络】网络基础(二)
    华为机试 HJ36 字符串加密【Java实现】
    2022电工(初级)上岗证题目及答案
  • 原文地址:https://blog.csdn.net/YABIGNSHI/article/details/125636666