docker安装后导致的网络问题及解决

 更新时间:2023年11月10日 09:43:52   作者:归去来 兮  
这篇文章主要介绍了docker安装后导致的网络问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题描述

在uat环境中某台机子上安装了docker后,发现公司的办公网络到这条uat的机子就ping不通了,测试环境的网络也ping不通uat了。

相关环境

  • 本地ip:172.17..,windows系统
  • 测试ip:172.17..,ubuntu16系统
  • uat的ip:10.3..、10.4..,ubuntu16系统

复盘问题过程

  • 1.搭建jenkins时,因测试环境不能ssh到uat和生产,故选择在uat搭建jenkins。
  • 2.使用docker搭建jenkins完毕后,并未发现明显异常,但是发现办公网络到uat这台装了docker的网络突然不通了。
  • 3.猜测肯定与docker安装有关,开始检查docker安装所使用的命令,操作命令中未发现任何会对其他硬件和配置有变更的地方,只更新了软件源。
  • 4.此时有些迷茫,不清楚为啥网络就有了故障,笔者对网络不甚了解。
  • 5.碰巧部门群里,服务器的管理人员发了一个场景的docker安装产生的网络异常问题的场景,对号入住后发现与自己症状很是相似。决定照这个去网上搜了解决方案。
  • 6.找到问题原因:docker安装后默认有个docker0网卡,该网卡的ip是:172.17.0.1,该ip正好与公司本部的IP地址有冲突,然后就导致了本部的ip与docker所在网络的通信出现了问题。ping与telnet都会不通了。
  • 7.问题产生的原因一直都知道方向:docker产生的网络问题。不过直到服务器管理人员发出来才真正意识到问题的所在。

解决办法

1.删除现在的网卡

sudo systemctl stop docker # 关闭docker
sudo ip link set dev docker0 down # 关闭docker0网卡
sudo brctl delbr docker0 # 删除docker0网卡
sudo iptables -t nat -F POSTROUTING # 清空路由后的地址转换规则

执行“brctl delbr”该命令时,可能会提示命令未找到,请参照如下:

sudo apt install bridge-utils # Centos系统网桥安装
sudo apt-get  install bridge-utils # Ubuntu系统网桥安装

2.重新创建docker0网卡

sudo brctl addbr docker0 # 创建网卡
sudo ip addr add 10.250.8.8/24 dev docker0 # 为docker0网卡声明新的ip
sudo ip link set dev docker0 up # 启动docker0网卡

3.修改docker配置文件

daemon.json可能不存在,该文件并不是必须的。所以若是不存在,则需要我们自己创建。

sudo vim /etc/docker/daemon.json # 编辑docker配置文件

打开该文件后,在后面追加刚刚第二步 配置的ip即可,如下所示

{
    "bip": "10.250.8.8/24"
}

4.重启docker即可

sudo systemctl daemon-reload # 重载docker的配置文件
sudo systemctl restart docker # 重启docker服务

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Dockerfile多镜像构建方式

    Dockerfile多镜像构建方式

    这篇文章主要介绍了Dockerfile多镜像构建方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker部署Jenkins持续集成(CI)工具的实现

    Docker部署Jenkins持续集成(CI)工具的实现

    Jenkins 是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Docker私有仓库Registry部署的实现

    Docker私有仓库Registry部署的实现

    这篇文章主要介绍了Docker私有仓库Registry部署的实现,私有仓库最常用的就是Registry、Harbor两种,本文详细介绍如何搭建registry私有仓库,感兴趣的可以了解一下
    2020-06-06
  • Docker镜像端口映射的原理及实现

    Docker镜像端口映射的原理及实现

    在使用Docker时,端口映射是一个重要的概念,本篇博客将向您介绍什么是端口映射,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • docker compose安装es+kibana 8.12.2的详细过程

    docker compose安装es+kibana 8.12.2的详细过程

    因云平台需要改造,es7升级为es8,所以记录一下,es8需要开启ssl认证,需要配置证书,全本带你用docker安装,便于后面es8的学习,这篇文章主要介绍了docker compose安装es+kibana 8.12.2的详细过程,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • 使用minikube安装k8s单节点集群方式

    使用minikube安装k8s单节点集群方式

    本文主要介绍了minikube的使用方法,包括安装、启动、镜像管理等步骤,minikube是一个专注于让Kubernetes更易于学习和开发的本地Kubernetes环境,支持在macOS、Linux和Windows上快速设置本地Kubernetes集群
    2024-10-10
  • 解决nacos启动时防火墙开启8848的坑

    解决nacos启动时防火墙开启8848的坑

    最近操作Nacos时遭遇8848端口无法访问的问题,尝试通过安全组和firewall配置仍无法解决,最终发现,firewall对Docker使用专门的作用域,需要在相应作用域下开放端口,务必检查firewall中针对Docker的设置,确保8848端口在正确的作用域内被允许通行
    2022-10-10
  • 云centos开启docker远程服务链接的实现步骤

    云centos开启docker远程服务链接的实现步骤

    本文主要介绍了云centos开启docker远程服务链接,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker 安装、升级、修改数据目录的操作方法

    docker 安装、升级、修改数据目录的操作方法

    这篇文章主要介绍了docker 安装、升级、修改数据目录的操作方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Ubuntu24.04LTS在线安装Docker引擎的详细过程

    Ubuntu24.04LTS在线安装Docker引擎的详细过程

    本文介绍了在Ubuntu 24.04 LTS系统上安装Docker引擎的步骤,包括卸载旧版本、设置Docker APT仓库、安装最新版或指定版本的Docker,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11

最新评论