Linux服务器安装docker导致内网172.17段网络都无法访问的解决办法

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容