Docker 重置 docker0 网卡

道锋潜鳞
2021-12-20 / 0 评论 / 128 阅读 / 正在检测是否收录...

作者在使用docker的过程中,遇到了件糟心事。

我的宿主机莫名其妙被封了ip,据说是由于莫名其妙的疑似攻击行为(我寻思着我打攻击干嘛啊?)

然后起初不知道,因为那天堪萨斯机房刚刚好刮风,吧网给挂断了,本以为只是网的问题,一波操作吧全部网卡配置全咔嚓掉了,重新配置eth0。

很显然,网还是不通。。。

然后今天,机房那边给我解了这子虚乌有的封禁,进了一波机器,重启了一下,然后苦逼的发现

图床怎么502了!!!

进了ifconfig看了一下,好家伙,docker0的网卡没ip了。。

咋办呢,重新装docker不成?

不重新安装?

图床,小说网都搁那502,宿主机不通容器。。

理解Docker0

Docker启动的时候会在主机上自动创建一个docker0网桥,实际上是一个Linux网桥,所有容器的启动如果在docker run的时候没有指定网络模式的情况下都会挂载到docker0网桥上。这样容器就可以和主机甚至是其他容器之间通讯了。

那安装这么说,我能不能先关闭docker,然后删除这个网桥,最后再重载docker呢

实践

我的宿主机使用的是centos8系统,以centos8为例

```yang
pkill docker
iptables -t nat -F
ifconfig docker0 down
## 删除docker0 网卡
nmcli c delete docker0
nmcli d delete docker0
docker -d
systemctl restart docker
```

首先先杀掉docker进程(最好先保存一下运行的容器)

然后使用iptables清除所有的网桥配置

然后关闭目标网卡,删除目标网卡

最后重载docker

结束

经过一番瞎几把操作,宿主机和容器的通信恢复

输入ifconfig也能查看到docker0获取到了地址

同时容器的子虚拟网卡也正常运行

0

评论 (0)

取消