Skip to content

Docker排错:开发过程中数据库断连了?

About 951 wordsAbout 3 min

docker

2025-05-08

今天在开发项目中,突然数据库连接不上了,就到服务器上面看到底是什么问题,服务器上输入docker的什么命令都没有返回,像是一直卡住了似的。

通过systemctl status docker确实发现docker是activating的(现在才发现activating应该是激活中,active (running) 才表示运行中,笑哭),但是通过journalctl -u docker.service发现docker没有启动成功。

报错如下:

failed to start daemon: failed to dial "/run/containerd/containerd.sock": failed to dial "/run/containerd/containerd.sock": context deadline exceeded
docker.service: Main process exited, code=exited, status=1/FAILURE
docker.service: Failed with result 'exit-code'.
Failed to start Docker Application Container Engine.
docker.service: Service hold-off time over, scheduling restart.
docker.service: Scheduled restart job, restart counter is at 50.

大概是因为containerd有问题。

systemctl status containerd.service 查看containerd的状态,发现没有运行。

journalctl -u containerd.service查看containerd服务的报错日志,大概意思就是说没有/usr/bin/containerd的文件夹

containerd.service: Failed to execute command: No such file or directory
containerd.service: Failed at step EXEC spawning /usr/bin/containerd: No such file or directory
containerd.service: Main process exited, code=exited, status=203/EXEC
containerd.service: Failed with result 'exit-code'.
Failed to start containerd container runtime.
containerd.service: Service hold-off time over, scheduling restart.
containerd.service: Scheduled restart job, restart counter is at 842.
Stopped containerd container runtime.

检查containerd是否安装:

which containerd

如果返回空,表示containerd没有安装,可以通过下面命令安装:

sudo apt-get update
sudo apt-get install containerd

检查containerd可执行文件路径。如果containerd已经安装,但仍然找不到可执行文件,检查它实际安装路径:

ls -l /usr/bin/containerd

后面发现是containerd.io没有安装,后面重新安装了一下, apt install containerd.io,发现启动docker出现了另外的错误。

Failed to start docker.service: Unit docker.service is masked.

Docker安装完启动时提示Failed to start docker.service: Unit docker.service is masked.

[docker] 一、入门

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

出现如下报错:

xiechen@xiechen-Ubuntu:~$ systemctl status docker.service
 docker.service - LSB: Create lightweight, portable, self-sufficient containers.
   Loaded: loaded (/etc/init.d/docker; generated)
   Active: failed (Result: exit-code) since Mon 2020-12-07 16:29:00 CST; 9s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3212 ExecStart=/etc/init.d/docker start (code=exited, status=1/FAILURE)

Starting LSB: Create lightweight, portable, self-sufficient containers....
* /usr/bin/dockerd not present or not executable
docker.service: Control process exited, code=exited status=1
docker.service: Failed with result 'exit-code'.
Failed to start LSB: Create lightweight, portable, self-sufficient containers..

直接重新安装一下:

sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
docker container ls --all

但是重装docker的时候,出现如下问题:

The following packages have unmet dependencies:
 docker.io : Depends: containerd (>= 1.2.6-0ubuntu1~)
E: Unable to correct problems, you have held broken packages.

【问题解决】docker.io : 依赖: containerd (>= 1.2.6-0ubuntu1~)

root@YS-QD-0033:/home/baoleiji# dpkg -l containerd*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                            Version                      Architecture                 Description
+++-===============================================-============================-============================-===================================================================================================
rc  containerd                                      1.6.12-0ubuntu1~18.04.1      amd64                        daemon to control runC
ii  containerd.io                                   1.6.21-1                     amd64                        An open and reliable container runtime

解决:

待完成任务:

面临的问题:

  • 1、在重新安装docker的时候,会删除现有的容器吗?

不用pure删除是不会删除容器的

Changelog

6/3/25, 1:49 AM
View All Changelog
  • d3a6d-Merge branch 'dev1'on

求求了,快滚去学习!!!

求求了求求了,快去学习吧!

【题单】贪心算法

不知道方向的时候,可以多看看书,书会给你指明下一步该干什么,加油!