docker容器网段冲突·

问题背景
Docker启动时会在宿主机上创建一个docker0的虚拟网桥,默认网段为172.17.0.1/16,恰好公司内网VPN使用的是172.18网段,这就导致在使用docker-compose部署的服务时,自动生成的网桥很容易与内网冲突,导致服务无法访问。

解决思路
通过修改配置文件,把 docker0 指定其它网段,同时控制 docker-compose 创建容器时的网段范围。

具体步骤如下:

修改/etc/docker/daemon.json,添加以下配置(要配置的网段范围根据自身情况进行修改):

bip:设置docker0网卡配置

default-address-pools:

base: docker启动容器ip范围

size:每个容器子网大小

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

  1. 删除所有不再使用中的docker网桥,并重启docker服务:

    $ docker network prune
    $ systemctl restart docker
    
  2. 启动容器,并查看网桥IP

    $ docker-compose up -d
    $ ifconfig
    

此时发现容器IP已经在设置的范围内,冲突问题解决。

docker-compose服务设置指定网段

 networks:
      - analysisnetworks:
  analysis:
    name: analysis
    driver: bridge
    external: false
    ipam:
      driver: default
      config:
        - subnet: 188.188.19.0/24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值