1.背景
Docker 是一种广泛使用的容器化平台,它允许开发者在不同环境中轻松地部署和管理应用程序。默认情况下,Docker 会为容器分配一个默认的网段(通常是 172.17.0.0/16),以便容器之间可以相互通信。然而,在某些情况下,Docker 的默认网段可能会与主机或其他网络的网段冲突,这会导致网络连接问题和其他网络相关的错误。
例如,如果主机网络或公司内部网络使用了与 Docker 默认网段相同的 IP 地址范围,那么在主机上运行的 Docker 容器可能无法正确访问外部网络资源,或者可能会出现 IP 地址冲突的问题。这种情况在使用 VPN 连接到公司内部网络时尤其常见。
2.解决方案
# 查看网络
ip addr
image.png
更改Docker的默认网段
1.编辑docker Daemon配置文件
在主机上编辑Docker的配置文件‘daemon.json’ ,该文件通常位于 /etc/docker/daemon.json
。加入以下代码:
{
"default-address-pools":
[
{"base":"172.100.0.0/16","size":24}
]
}
其中上面的172.100.0.0/16是自定义的网段地址
2.删除docker0
ip link delete docker0
3.重新启动docker
- 停止docker运行
sudo systemctl stop docker
- 查看docker 状态
sudo systemctl status docker
- 启动docker,可能要多等一会
sudo systemctl start docker
4.查看docker现有的IP网段
ip addr