怎么解决docker报错:IPv4 forwarding is disabled. Networking will not work.
这个错误通常是由于IPv4转发未启用导致的。要解决此问题,按照以下步骤操作:
检查配置
-
检查IPv4转发是否已启用。在终端中运行以下命令:
sysctl net.ipv4.ip_forward如果输出为
net.ipv4.ip_forward = 0,则IPv4转发未启用。 -
启用IPv4转发。在终端中运行以下命令:
sudo sysctl net.ipv4.ip_forward=1 -
永久启用IPv4转发。编辑
/etc/sysctl.conf文件并添加以下行:net.ipv4.ip_forward=1保存并关闭文件。
-
重新加载sysctl配置文件。在终端中运行以下命令:
sudo sysctl -p
现在,重新启动Docker并检查是否已解决问题。
重新启动Docker
- 停止Docker服务:
sudo systemctl stop docker
- 重新启动Docker服务:
sudo systemctl start docker
- 检查Docker服务状态:
sudo systemctl status docker
如果Docker服务正在运行,您应该会看到类似于以下内容的输出:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-05-18 14:22:45 UTC; 4min 12s ago
Docs: https://docs.docker.com
Main PID: 12345 (dockerd)
Tasks: 10
Memory: 39.2M
CGroup: /system.slice/docker.service
├─12345 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
└─12356 containerd --config /var/run/containerd/containerd.toml --log-level info
如果Docker服务未运行,则应该会看到类似于以下内容的输出:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2021-05-18 14:22:45 UTC; 4min 12s ago
Docs: https://docs.docker.com
Process: 12345 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCESS)
Main PID: 12345 (code=exited, status=0/SUCCESS)