由于某些(隐藏)原因,无法启动Docker守护程序

falq053o  于 2022-09-19  发布在  Docker
关注(0)|答案(2)|浏览(191)

我正在尝试推送docker图像,并注意到我的docker守护进程实际上可能没有运行。

例如,如果我运行:

docker run hello-world

Docker:无法连接到unix:/var/run/docker.sock上的Docker守护程序。码头守护进程是否正在运行?

如果我尝试使用以下命令重新启动守护进程:

systemctl start docker

Docker.service的作业失败,因为控制进程退出并返回错误代码。有关详细信息,请参阅系统ctl状态docker.service和Jouralctl-xe。

继续运行:

systemctl status docker.service

Docker.service-Docker应用程序容器引擎

已加载:已加载(/lib/systemd/system/docker.service;已启用;供应商预设:已启用)活动:已失败(结果:启动-限制-命中)自周三2021-05-12 14:45:09 EEST;43秒前
文档:https://docs.docker.com
进程:4810 ExecStart=/usr/bin/dockerd-H fd://--tainerd=/run/tainerd/tainerd.sock(code=已退出,状态=1/失败)主id:4810(code=已退出,状态=1/失败)

5月12日14:45:07 iti-554系统ID[1]:docker.service:单元进入故障状态。
5月12日14:45:07 iti-554系统ID[1]:docker.service:失败,结果为‘Exit-code’。
5月12日14:45:09 iti-554系统ID[1]:docker.service:服务暂停超时,计划重新启动。
5月12日14:45:09 iti-554系统d[1]:Docker应用程序容器引擎停止。
5月12日14:45:09 iti-554系统ID[1]:docker.service:启动请求重复太快。
5月12日14:45:09 iti-554系统ID[1]:无法启动Docker应用程序容器引擎。
5月12日14:45:09 iti-554系统ID[1]:docker.service:单元进入故障状态。
5月12日14:45:09 iti-554系统ID[1]:docker.service:失败,结果为‘Start-Limit-Hit’。

据我所知,这意味着docker守护进程没有加载(它处于失败状态),最后一个原因是已经达到了启动-限制-命中。在这一方面,这可能意味着发生这种情况的另一个原因。

那么,我如何找出我的docker守护进程拒绝启动的实际原因是什么?

如果我运行以下命令来重置失败尝试计数器:

systemctl reset-failed docker.service

它返回时没有错误,所以我认为它成功了。事实上,当我检查它的状态时,它已经变成了:

活动:自Wed 2021-05-12 14:45:09美国东部夏令时以来不活动(不活动);14分钟前

当然,如果我再次运行docker守护进程,它将失败。

有人能提供有关此问题的解决方法吗?我甚至试图在重启后调用这些命令(没有帮助)。

编辑

对我来说,这个问题是一个相当愚蠢的问题。我添加了一个内容最少的daemon.json文件。就是这样:cat/etc/docker/daemon.json

{
"insecure-registries": [
"docker-server.com:10022",
"docker-server.com:10023"
],
}

问题是}前面的逗号让docker搜索另一个参数。使用journalctl -u docker显示的相关消息为:

无法使用文件/etc/docker/daemon.json配置Docker守护程序:正在查找对象密钥字符串开头的无效字符‘}’

这是相当明显的,但之前的几次并没有多大帮助。

5tmbdcev

5tmbdcev1#

journalctl -u docker为您提供停靠守护程序日志。也许你能在那里找到一些东西。

bhmjp9jg

bhmjp9jg2#

unix:///var/run/docker.sock需要正确的权限才能工作。这是Docker的一项安全功能。

尝试sudo chmod 755 /var/run/docker.sock并重新运行Docker命令。

注意:此处给出的许可号可能并不适合所有人。

相关问题