云计算百科
云计算领域专业知识百科平台

【rockyLinux·9.4】docker报错:Job for docker.service failed because the control process exited with error

一、报错说明

1.报错内容

Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.

在这里插入图片描述

2.报错原因分析

2.1 查看日志

sudo journalctl -u docker.service –no-pager

2.2 日志输出

我们能够看到关键的问题: “unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character ‘â’ looking for beginning of object key string”。

它代表了,docker 无法解析这个配置文件:daemon.json。原因是里面包含一个非法字符 “ â ”。

[root@localhost app]# sudo journalctl -u docker.service –no-pager
728 17:14:41 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
728 17:14:41 localhost.localdomain dockerd[1218]: unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character 'â' looking for beginning of object key string
728 17:14:41 localhost.localdomain systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
728 17:14:41 localhost.localdomain systemd[1]: docker.service: Failed with result 'exit-code'.
728 17:14:41 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
728 17:14:43 localhost.localdomain systemd[1]: docker.service: Scheduled restart job, restart counter is at 1.
728 17:14:43 localhost.localdomain systemd[1]: Stopped Docker Application Container Engine.
728 17:14:43 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
728 17:14:43 localhost.localdomain dockerd[2218]: unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character 'â' looking for beginning of object key string
728 17:14:43 localhost.localdomain systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE

在这里插入图片描述

二、问题解决

1.编辑 daemon.json 内容

我用 nano,你用 vi、vim 都可以随便

sudo nano /etc/docker/daemon.json

2.替换内容

将此文件的内容全删掉,替换为如下内容(注意格式正确):

{
"exec-opts": ["native.cgroupdriver=systemd"],
"storage-driver": "overlay2"
}

3.保存,退出

4.更改编码格式

4.1 修复文件为 UTF-8 编码

请注意,下面命令中,你要替换成你的 docker 配置文件 daemon.json 的位置。但是一般来说,和我的这个文件的位置是一样的,你可以看一下是否一样,再执行。

sudo iconv -f $(file -bi /etc/docker/daemon.json | sed -e 's/.*[ ]charset=//') -t utf-8 /etc/docker/daemon.json -o /etc/docker/daemon.json.utf8

4.2 修复后重命名文件

sudo mv /etc/docker/daemon.json.utf8 /etc/docker/daemon.json

三、测试,是否好用了?

1.应用配置文件,重启 docker 并查看状态

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker

2.好用啦!

在这里插入图片描述

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【rockyLinux·9.4】docker报错:Job for docker.service failed because the control process exited with error
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!