问题
在ubuntu16.04上安装完docker后,发现电脑无法上网了。
由于是在公司网络,使用了代理上网(代理地址:172.17.18.88)。安装docker(1.7.5)后docker创建了一个虚拟网络桥连,恰好也使用了172.17.1.0/16的网段,导致电脑配置的代理服务器172.17.18.88直接找到了docker的网段IP(172.17.0.1),从而导致无法上网。
解答
找到了原因,我们就让docker避开172.17.18.0/24网段。所幸改成192.168.7.1/24,也避免与一般的家用路由器IP段相撞。
局域网保留地址:
A类:10.0.0.0/8 10.0.0.0-10.255.255.255
B类:172.16.0.0/12 172.16.0.0-172.31.255.255
C类:192.168.0.0/16 192.168.0.0~192.168.255.255
下面修改docker配置,以ubuntu16.04为例。
修改之前先停止docker服务,然后删除docker0的网络配置。
sudo vim /etc/default/docker
#添加1行:
DOCKER_OPTS="--bip=192.168.7.1/24"
sudo vim /etc/systemd/system/docker.service
#如果docker.service文件不存在,则看/lib/systemd/system/docker.service文件
#添加:
[Service]
EnvironmentFile=-/etc/default/docker
#修改
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
配置完成后重新docker服务即可。