运行firewall-cmd --get-active-zones
后,我有以下内容
public
interfaces: virbr0 docker0 lxcbr0 wlan0
trusted
sources: 172.17.0.0/16 53.0.0.0/8
这些是我从启动守护进程失败中得到的见解:初始化网络控制器时出错:创建默认值时出错;"桥";网络
问题是,sudo dockerd
失败,并显示错误消息,其中有
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
如何操作区域以便启动docker守护进程?
编辑:这个解决方案对我有效:
sudo firewall-cmd --permanent --new-zone=docker
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=docker --add-interface=docker0
这是有效的(完成所有步骤(:
- 检查防火墙cmd中是否存在docker区域
$ firewall-cmd --get-active-zones
- 如果"码头工人";区域可用,将接口更改为docker0(未持久化(
$ sudo firewall-cmd --zone=docker --change-interface=docker0
- 如果"码头工人";区域可用,将接口更改为docker0(持久化,感谢rbjorklin(
$ sudo firewall-cmd --permanent --zone=docker --change-interface=docker0
$ sudo systemctl restart firewalld
信用:https://gist.github.com/reytech-dev/1cbbb158df374018be454537de32a428
最好在答案@Ilonpilaaja中提及该解决方案。这些命令也适用于我:
sudo firewall-cmd --permanent --new-zone=docker
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=docker --add-interface=docker0