docker默认IP地址冲突

一.问题描述
在公司虚拟机内开了个docker容器,发现公司内网的部分IP地址是无法访问的。

二.解决步骤
1.怀疑公司网络限制

运维查询发现有个IP段被禁止访问了,如果要访问需要单独申请。

2.怀疑本机操作问题

在不申请的情况下做了第二个操作,发现本机docker的IP地址段与该无法访问IP段比较相似。

#ifconfig docker0
docker0: flags=4099  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        ether 02:42:d4:d3:b9:28  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

修改docker 的IP地址:

# vi  /etc/docker/daemon.json
{
    "bip": "192.168.100.1/24"
}

注意,此时bip一定是不能以0结尾,否则在重启docker服务时,会报错找不到网络。

操作删除原有的网络:
ip link del docker0

如需临时修改IP网段:
docker --bip="10.1.42.1/16" -d
如果最后以为是0的话,则会报如下错误:

INFO[2020-08-21T06:33:33.159447512Z] Loading containers: start.
Error starting daemon: Error initializing network controller: Error creating default "bridge" network: failed to allocate gateway (172.30.0.0): Address already in use

你可能感兴趣的