问题描述
我正在使用 Fedora 版本 33(33)
Docker版本是Docker版本20.10.0,build 7287ab3
I'm using Fedora release 33 (Thirty Three)
Docker version is Docker version 20.10.0, build 7287ab3
首先我运行了 docker system prune
,然后 docker daemon 无法启动.
First I ran docker system prune
and since then docker daemon failed to start.
我运行 systemctl start docker
命令得到了
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
然后 systemctl status docker.service
我得到了
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor pr>
Active: failed (Result: exit-code) since Wed 2020-12-09 11:10:58 IST; 15s >
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Process: 10391 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/contai>
Main PID: 10391 (code=exited, status=1/FAILURE)
Dec 09 11:10:58 barad-laptop systemd[1]: docker.service: Scheduled restart job,>
Dec 09 11:10:58 barad-laptop systemd[1]: Stopped Docker Application Container E>
Dec 09 11:10:58 barad-laptop systemd[1]: docker.service: Start request repeated>
Dec 09 11:10:58 barad-laptop systemd[1]: docker.service: Failed with result 'ex>
Dec 09 11:10:58 barad-laptop systemd[1]: Failed to start Docker Application Con>
然后sudo dockerd --debug
得到
failed to start daemon: Error initializing network controller: Error creating default "bridge" network: Failed to program NAT chain: ZONE_CONFLICT: 'docker0' already bound to a zone
与 此 Github 问题
推荐答案
发现了
$ firewall-cmd --get-active-zones
FedoraWorkstation
interfaces: ens4u1u2 wlp59s0
docker
interfaces: br-48d7d996793a
libvirt
interfaces: virbr0
trusted
interfaces: docker0
接口 docker0 似乎在 trusted 区域中.但是还有另一个名为 docker 的区域.
the interface docker0 seems to be in the trusted zone. But there's another zone called docker.
所以我决定试一试并将其添加到 docker 区域.
So I decided to give it a shot and add it to the docker zone instead.
$ sudo firewall-cmd --permanent --zone=docker --change-interface=docker0
之后是这样的:
$ firewall-cmd --get-active-zones
FedoraWorkstation
interfaces: ens4u1u2 wlp59s0
docker
interfaces: br-48d7d996793a docker0
libvirt
interfaces: virbr0
似乎有效.也许有人可以对此有所了解.
Seems to work. Maybe someone can shed more light on this.