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

二.解决步骤
1.狐疑公司网络限度

运维查问发现有个IP段被禁止拜访了,如果要拜访须要独自申请。

2.狐疑本机操作问题

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

#ifconfig docker0docker0: flags=4099<UP,BROADCAST,MULTICAST>  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