最近使用服务器安装 Docker 后准备部署应用。在安装完Docker,写 Dockerfile后运行程序时产生了无法访问的问题,而且服务器也ping 不通了,把 Docker 关了后发现依旧不行。但是在出现这个问题后依然可以 ssh 登陆服务器,只是服务器 ping 不通,也不能访问。
在网上查询后发现有人有和我一样的问题,原因就是 Docker 和服务器的网段冲突了,改了网段就好了。
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
Docker 容器网络默认使用的是 bridge 桥接模式,一般容器会使用 daemon.json 中定义的虚拟网桥来与宿主机进行通信。
下面分别是 Linux 和 Mac 修改 Docker 默认网段的方法。
修改方法
Linux 修改 Docker 默认网段
第一步 删除原有配置
sudo service docker stop
sudo ip link set dev docker0 down
sudo brctl delbr docker0
sudo iptables -t nat -F POSTROUTING
第二步 创建新的网桥
sudo brctl addbr docker0
sudo ip addr add 172.17.10.1/24 dev docker0
sudo ip link set dev docker0 up
第三步 配置 Docker 的文件
vi /etc/docker/daemon.json
-bash-4.2$ cat /etc/docker/daemon.json
{
"bip":"172.17.10.1/24"
}
# 注意就是将 bip 的值改成新设置的网段
Mac 修改
打开 Preferences -> Advanced,修改 Docker subnet 配置 172.17.10.1/24,从而避免网段冲突的问题。