【Linux docker】关于docker启动出错的解决方法。

无论遇到什么docker启动不了的问题

就是

复制代码
查看docker状态

sytemctl status docker

查看docker日志

sudo journalctl -u docker.service

查看docker三个配置文件(可能是配置的时候格式错误):/etc/docker/daemon.json(如果存在) /etc/systemd/system/docker.service, /etc/systemd/system/docker.service.d/

看看daemon.json是不是镜像配置没加逗号呀,或者最后一个加了个逗号什么的


cd /
作用:切换到系统的根目录(root directory)。
目标目录:根目录是所有文件和目录的起点,用斜杠 / 表示。
特点:根目录是所有用户共享的目录,包含系统级的配置文件和目录结构。
示例:执行 cd / 后,无论当前处于哪个目录,都会切换到根目录

cd 文件名


重启

systemctl restart daemon-reload

重启docker

systemctl restart docker

好了进入我问题的痛苦解决过程

首先是查看docker状态

复制代码
sytemctl status docker

问题

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

/etc/systemd/system/docker.service.d/override.conf:1: Invalid section header '[Service]ExecStart='

原因格式错误,到文件 /etc/systemd/system/docker.service.d/ 里的override.conf里看文件情况

复制代码
cd /etc/systemd/system/docker.service.d/

![image-20250310144758956](C:\Users\LX\AppData\Roaming\Typora\typora-user-images\image-20250310144758956.png

解决

然后保存文件,执行下面命令重新加载 systemctl 配置

复制代码
systemctl restart daemon-reload

重启Docker容器

复制代码
systemctl restart docker

发现还是不行查看日志后

查看docker日志

复制代码
sudo journalctl -u docker.service

docker.service: Main process exited, code=exited, status=1/FAILURE3月 10 14:54:48 localhost.localdomain systemd[1]: docker.service: Failed with result 'exit-code'.

检查配置文件 : 确保 /etc/docker/daemon.json(如果存在)中的配置是正确的。同时,检查 /etc/systemd/system/docker.service/etc/systemd/system/docker.service.d/ 目录下的任何覆盖文件,确保它们没有引入错误的配置。

一气之下删除了docker.service(这个文件得到/etc/systemd/system/这文件里后输入ls找)

复制代码
cd /

cd /etc/systemd/system/

ls

vim docker.service

清空,

更新完该更新的

复制代码
systemctl daemon-reload

systemctl restart docker

然后

又出错了

Failed to restart docker.service: Unit docker.service is masked." 表示 Docker 服务单元(unit)已被系统标记为"masked"。在 systemd 中,当一个服务单元被标记为 masked 时,它就不能被启动,因为 systemd 实际上已经禁用了这个单元文件。

解决

  1. 取消屏蔽 Docker 服务 : 使用 systemctl unmask 命令来取消对 Docker 服务的屏蔽。

    复制代码
     sudo systemctl unmask docker.service

    这个命令会创建一个到 Docker 服务单元文件的符号链接,允许 systemd 管理它。

  1. 尝试重新启动 Docker 服务: 一旦服务被取消屏蔽,您就可以尝试重新启动 Docker 服务了。

    复制代码
     sudo systemctl restart docker.service

又又又出错了

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

不知道怎么搞了,索性直接把docker.service的内容全删了

复制代码
vim   docker.service

把docker.service.d下面的文件全删了

复制代码
rm -f 文件名

然后

复制代码
sudo systemctl unmask docker.service

sudo systemctl restart docker.service

没想到可以了,也是山重水复疑无路,柳暗花明又一村。

Cheer on

学会静下心下来一步一步的发现错误,纠正错误恐怕是最好的姿态。人生从来就是以失败为主题,所有你能做的只有不畏惧失败。希望程序不出bug,新手配置一些东西的时候可以一路顺风,那都是不切实际的幻想;遇到困难就头大,就想逃,就思绪混乱,我想大部分人都有这种想法,只是有些人只是想,但是会丢掉这种不好的想法,而有些人却真正去逃避了;如果你曾经逃避了,那现在你能做到不去逃避了吗,什么时候都来得及,但是最好就是现在。

--------雄关漫道真如铁,而今迈步从头越

相关推荐
爱奥尼欧1 分钟前
【Linux】网络部分——Socket编程 UDP实现网络云服务器与本地虚拟机的基本通信
linux·服务器·网络
Ching·2 分钟前
RK3568入门之VScode远程连接开发板,直接开发板上面编程和实验
linux·ide·vscode·编辑器·rk3568
iconball29 分钟前
个人用云计算学习笔记 --20 (Nginx 服务器)
linux·运维·笔记·学习·云计算
Wang's Blog44 分钟前
Linux小课堂: 在 VirtualBox 虚拟机中安装 CentOS 7 的完整流程与关键技术详解
linux·运维
心态特好1 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
一水鉴天1 小时前
整体设计 逻辑系统程序 之18 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之2
docker·架构·认知科学·公共逻辑
馨谙1 小时前
Linux中权限系统
linux·运维·服务器
jieyu11191 小时前
虚拟专用网络
linux·网络
报错小能手1 小时前
linux学习笔记(19)进程间通讯——消息队列
linux·笔记·学习
Haooog2 小时前
98.验证二叉搜索树(二叉树算法题)
java·数据结构·算法·leetcode·二叉树