如图,Docker连不了网络
1.先ping一下百度,看行不行
ping baidu.com
2.如果能通,尝试更换一下镜像
- 这个文件没有就自己创建一下
vim /etc/docker/daemon.json
# 写入
{
"registry-mirrors": ["https://nzcfdu4v.mirror.aliyuncs.com"]
}
2. 然后重启一下
sudo systemctl daemon-reload
sudo systemctl restart docker
3.检查 Docker 网络接口
ip a show docker0
这里可以看到down了,接下来尝试解决
1. 重启试试
sudo systemctl restart docker
2. 检查一下Docker相关信息
docker info
可以看到相关警告,这些警告表明内核参数 net.bridge.bridge-nf-call-iptables 和 net.bridge.bridge-nf-call-ip6tables 当前被设置为 0(即禁用状态)。这些参数对于 Docker 的网络功能非常重要,因为它们允许 Docker 使用 iptables 规则进行网络包过滤。如果这些参数被禁用,可能会导致 Docker 网络相关的功能无法正常工作。
3. 启用这些参数
- 临时启用
sudo sysctl -w net.bridge.bridge-nf-call-iptables=1
sudo sysctl -w net.bridge.bridge-nf-call-ip6tables=1
- 永久启用
- 编辑 /etc/sysctl.conf
vim /etc/sysctl.conf
# 添加
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
2. 从/etc/sysctl.conf加载内核参数
sudo sysctl -p /etc/sysctl.conf
4. 重启Docker
sudo systemctl restart docker
5. 检查一下Docker状态应该可以了
ip a show docker0
6. 版本问题,应该是版本不兼容导致的,把Docker版本回退一下,或者把当前系统内核升级一下试试
还不行我就没办法了