修改docker ip网段

Posted 雅冰石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改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

以上是关于修改docker ip网段的主要内容,如果未能解决你的问题,请参考以下文章

Docker修改默认Docker0的网段

docker之修改docker0网桥默认网段

Docker修改默认的网段

Docker--------修改Docker0网桥默认网段

Docker OpenvSwitch 应用部署

docker网络冲突解决(修改docker_gwbridge网段)