Docker無法啟動

出自 YTYZX有图有真相的百科
前往: 導覽搜尋
1. 尝试运行 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.
2. 输入journalctl -eu docker 显示如下内容(Default bridge (docker0) is assigned with an IP addr):
   Aug 07 12:29:12 python.ytyzx.org dockerd[2334]: time="2022-08-07T12:29:12.759581329+08:00" level=info msg="Firewalld: docker zone already exists, returning"
   Aug 07 12:29:13 python.ytyzx.org dockerd[2334]: time="2022-08-07T12:29:13.579569379+08:00" level=info msg="Default bridge (docker0) is assigned with an IP addr>
   Aug 07 12:29:13 python.ytyzx.org dockerd[2334]: time="2022-08-07T12:29:13.638506977+08:00" level=info msg="stopping event stream following graceful shutdown" e>
   Aug 07 12:29:13 python.ytyzx.org dockerd[2334]: time="2022-08-07T12:29:13.638897369+08:00" level=info msg="stopping event stream following graceful shutdown" e>
   Aug 07 12:29:13 python.ytyzx.org dockerd[2334]: failed to start daemon: Error initializing network controller: Error creating default "bridge" network: Failed >
   Aug 07 12:29:13 python.ytyzx.org systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
   Aug 07 12:29:13 python.ytyzx.org systemd[1]: docker.service: Failed with result 'exit-code'.
   

DockerRunIssue1.PNG

3. 输入 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
4. 输入sudo firewall-cmd --get-active-zones,提示如下:
   libvirt
     interfaces: virbr0
   public
     interfaces: wlp3s0
   trusted
     interfaces: docker0

5. 输入sudo firewall-cmd --permanent --zone=docker --change-interface=docker0, 然后输入 sudo firewall-cmd --reload.
6. 输入sudo firewall-cmd --get-active-zones
   docker
     interfaces: docker0
   public
     interfaces: wlp3s0
7. 输入 docker run  --rm hello-world 测试正常。