【rockyLinux·9.4】docker报错:Job for docker.service failed because the control process exited with error
MicroLindb 2024-08-26 08:07:02 阅读 99
一、报错说明
1.报错内容
<code>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 查看日志
<code>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
7月 28 17:14:41 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
7月 28 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
7月 28 17:14:41 localhost.localdomain systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
7月 28 17:14:41 localhost.localdomain systemd[1]: docker.service: Failed with result 'exit-code'.
7月 28 17:14:41 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
7月 28 17:14:43 localhost.localdomain systemd[1]: docker.service: Scheduled restart job, restart counter is at 1.
7月 28 17:14:43 localhost.localdomain systemd[1]: Stopped Docker Application Container Engine.
7月 28 17:14:43 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
7月 28 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
7月 28 17:14:43 localhost.localdomain systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
二、问题解决
1.编辑 daemon.json 内容
我用 nano,你用 vi、vim 都可以随便
<code>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.好用啦!
上一篇: STC89C52单片机外部中断与定时器中断寄存器配置分析
下一篇: Win32基于Refs实现 Copy On Write
本文标签
【rockyLinux·9.4】docker报错:Job for docker.service failed because the control process exited with error
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。