Job for docker.service failed because start of the service was attempted too often. See “systemctl s

博客讲述了在遇到docker服务启动失败,错误提示ZONE_CONFLICT: ‘docker0’ already bound to a zone时,作者尝试了多次修复,包括卸载重装docker,修改防火墙配置,删除trusted项的docker0等。最终通过调整防火墙规则和docker配置,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、docker无法启动

今日发现一启动docker就提示错误

[root@sccstestenv yum.repos.d]# systemctl start docker
Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed docker.service" followed by "systemctl start docker.service" again.

根据提示查看日志

systemctl status docker.service

错误日志

一脸懵逼???
。。。。。。。。。。
。。。。。。。。。。
。。。。。。。。。。

根据这个提示我纠结了好久,就把这个错误贴到网络进行查找,一查一个准很多这种错误
,心想哇塞这个应该可以,拿去比作修改,测试,no
,心想哇塞这个应该可以,拿去比作修改,测试,no
,心想哇塞这个应该可以,拿去比作修改,测试,no
,心想哇塞这个应该可以,拿去比作修改,测试,no

经历过无数次测试

我想到了人家说的docker 有问题,我直接就把他给卸载了,重新安装。。。。

再然后有人说yum 有问题我把yum 也重新装了一遍,但是问题依然存在,哈哈啊哈哈。

后来有人说 新建shell 然后执行一下就可以修复上面的问题

#!/bin/sh
# Copyright 2011 Canonical, Inc
#           2014 Tianon Gravi
# Author: Serge Hallyn <serge.hallyn@canonical.com>
#         Tianon Gravi <tianon@debian.org>
set -e

# for simplicity this script provides no flexibility

# if cgroup is mounted by fstab, don't run
# don't get too smart - bail on any uncommented entry with 'cgroup' in it
if grep -v '^#' /etc/fstab | grep -q cgroup; then
        echo 'cgroups mounted from fstab, not mounting /sys/fs/cgroup'
        exit 0
fi

# kernel provides cgroups?
if [ ! -e /proc/cgroups ]; then
        exit 0
fi

# if we don't even have the directory we need, something else must be wrong
if [ ! -d /sys/fs/cgroup ]; then
        exit 0
fi

# mount /sys/fs/cgroup if not already done
if ! mountpoint -q /sys/fs/cgroup; then
        mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi

cd /sys/fs/cgroup

# get/mount list of enabled cgroup controllers
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
        mkdir -p $sys
        if ! mountpoint -q $sys; then
                if ! mount -n -t cgroup -o $sys cgroup $sys; then
                        rmdir $sys || true
                fi
        fi
done

# example /proc/cgroups:
#  #subsys_name hierarchy       num_cgroups     enabled
#  cpuset       2       3       1
#  cpu  3       3       1
#  cpuacct      4       3       1
#  memory       5       3       0
#  devices      6       3       1
#  freezer      7       3       1
#  blkio        8       3       1

exit 0

于是我新建了如上shell, 然后运行想着能修复,然并卵。

二、ERROR: ZONE_CONFLICT: ‘docker0’ already bound to a zone

后来再次查看防火墙状态

[root@sccstestenv yum.repos.d]# systemctl status  firewalld.service

防火墙状态
看到了显眼的 ERROR: ZONE_CONFLICT: ‘docker0’ already bound to a zone

三、第一次修复

然后根据这个异常查询网络资料,看见了ZONE_CONFLICT: ‘docker0‘ already bound to a zone博客

根据他的描述 查看防火墙配置

[root@sccstestenv yum.repos.d]# sudo firewall-cmd --list-all-zones

trusted 的interfaces 中有docker0
查看docker信任情况

而docker 项的interfaces却没有

没有?

根据描述执行trusted项的docker0的删除操作

[root@sccstestenv yum.repos.d]# sudo firewall-cmd --zone=trusted --remove-interface=docker0 --permanent
success

然后重启防火墙

[root@sccstestenv yum.repos.d]# sudo firewall-cmd --reload

重启docker

重启docker

麻蛋还是失败了,呜呜呜。

既然有了方向就好办,继续找找…

四、第二次修复

又看到了ERROR: ZONE_CONFLICT: ‘docker0’ already bound to a zone博客

根据描述再次执行修改

[root@sccstestenv yum.repos.d]# sudo firewall-cmd --permanent --zone=docker --change-interface=docker0
success

再次重启防火墙

[root@sccstestenv yum.repos.d]# sudo systemctl restart firewalld

再次查看防火墙配置

[root@sccstestenv yum.repos.d]# sudo firewall-cmd --list-all-zones

发现这次docker 有了配置

ok docker

而trusted成了这样

trusted

再次重启docker

[root@sccstestenv ~]# systemctl restart docker

重启docker
终于OK了,

再看看防火墙的状态
防火墙状态

这个也没有错误了,终于解决了docker 启动异常的问题

再次感谢运维自动化&云计算SmalltalkVoice两位博主的分享,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的痕迹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值