首页 > 系统相关 >centos7断电重启后docker无法启动的其中一种情况

centos7断电重启后docker无法启动的其中一种情况

时间:2023-05-12 15:22:07浏览次数:31  
标签:断电 systemd 12 service 10 56 centos7 docker

一、发现问题

在一个很久没用docker的虚拟机上想跑一个docker容器,然后发现没启动,通过systemctl start docker启动直接报错:

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

从这个错误看不出来什么信息,就运行systemctl status docker去看下运行状态。
然而没发现什么特别

[root@VM_17_5_centos init.d]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Sun 2022-04-10 19:09:56 CST; 11s ago
     Docs: https://docs.docker.com
  Process: 14592 ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 14592 (code=exited, status=1/FAILURE)
 
Apr 10 19:09:54 VM_17_5_centos systemd[1]: docker.service failed.
Apr 10 19:09:56 VM_17_5_centos systemd[1]: docker.service holdoff time over, scheduling restart.
Apr 10 19:09:56 VM_17_5_centos systemd[1]: Stopped Docker Application Container Engine.
Apr 10 19:09:56 VM_17_5_centos systemd[1]: start request repeated too quickly for docker.service
Apr 10 19:09:56 VM_17_5_centos systemd[1]: Failed to start Docker Application Container Engine.
Apr 10 19:09:56 VM_17_5_centos systemd[1]: Unit docker.service entered failed state.
Apr 10 19:09:56 VM_17_5_centos systemd[1]: docker.service failed.
Apr 10 19:10:00 VM_17_5_centos systemd[1]: start request repeated too quickly for docker.service
Apr 10 19:10:00 VM_17_5_centos systemd[1]: Failed to start Docker Application Container Engine.
Apr 10 19:10:00 VM_17_5_centos systemd[1]: docker.service failed.

唯一的一句错误是Failed to start Docker Application Container Engine.网上其它文章的如下几个解决方案均无法生效:

1)修改 /etc/docker/daemon.json添加registry-mirrors镜像地址:这个是用于加速的,跟启动失败一般不会有关系。

2)删除/etc/docker/daemon.json:根本没必要删除,用docker官网的镜像太慢了,肯定要配置国内的镜像源的。跟启动失败也不会有关系。

3)修改Docker Container Engine的配置文件:

有的文章建议去修改/usr/lib/systemd/system/docker.service配置文件,个人觉得是根本没有必要。虽说从错误信息看是有

Process: 14592 ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 14592 (code=exited, status=1/FAILURE)

这样一句,但本质上原生安装包不可能刚安装就有问题还需要用户自己修改什么。

二、解决问题

鉴于上述几点都无法解决,就想到查看Linux系统操作日志(最后200行就可以排查):

tail -200f /var/log/messages

此时,再次输入systemctl start docker试图启动docker,发现如下错误行:

May 12 12:08:56 centos7 systemd: Starting Docker Application Container Engine...
May 12 12:08:56 centos7 dockerd: time="2023-05-12T12:08:56.795427099+08:00" level=info msg="Starting up"
May 12 12:08:56 centos7 dockerd: failed to start daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid
May 12 12:08:56 centos7 systemd: docker.service: main process exited, code=exited, status=1/FAILURE
May 12 12:08:56 centos7 systemd: Failed to start Docker Application Container Engine.
May 12 12:08:56 centos7 systemd: Unit docker.service entered failed state.
May 12 12:08:56 centos7 systemd: docker.service failed.

其中的May 12 12:08:56 centos7 dockerd: failed to start daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid这句报错可以发现docker的守护程序没找到pid文件。按提示使用ps -aux | grep docker命令查看还有没有没退出的docker进程,如果有的话就使用kill关闭。这次我是启动不成功,就没关于docker的进程。

然后按提示删除文件,使用命令:rm -r /var/run/docker.pid然后确定删除。

最后再使用systemctl start docker启动,发现已经成功启动docker了。

标签:断电,systemd,12,service,10,56,centos7,docker
From: https://www.cnblogs.com/safe-rabbit/p/17394239.html

相关文章

  • window docker nginx容器 创建容器,把本地目录可以映射到nginx容器中
    在Windows环境下,您可以按照以下步骤创建一个映射了本地目录的Nginx容器:1.首先,创建一个本地目录,例如`C:\nginx`。2.使用以下命令启动Nginx容器,并将本地目录映射到容器中:```shdockerrun--namemy-nginx-p8080:80-vC:/nginx:/usr/share/nginx/html:ro-dnginx......
  • 服务器docker上部署python项目
    1.docker准备python环境与项目代码1.1查看docker内所有镜像://查看正在运行的镜像sudodockerimages//查看所有镜像sudodockerimages-a1.2查看docker内所有容器://查看正在运行的容器sudoduckerps//查看所有容器sudodockerps-a1.3docker安装anaconda镜像......
  • oracle11 docker-compose.yml,启动时导入sql文件
    version:'3'services:oracle:image:wnameless/oracle-xe-11g-r2container_name:oracle11gr2environment:-'NLS_LANG=AMERICAN_AMERICA.AL32UTF8'volumes:-"./create.sql:/docker-entrypoint-initdb.d/......
  • 安装docker 和docker-compose脚本
    安装docker和docker-compose#!/bin/bashfunctiondocker_install(){echo"检测Docker是否安装..."docker-vif[$?-ne0];thenecho"检测到Docker未安装!"echo"*****开始安装docker工具*****"ehco"......
  • 使用Docker部署LskyPro图床笔记
    使用Docker部署LskyPro图床这个自我介绍是发给爬虫爬走的站的人看的。哈喽我是Perry,网名wosperry,我的站是wosperry.com,这是发在博客园的哦,别被爬虫站长骗了今天我第二次尝试使用DockerCompose部署LskyPro,但是却遇到了一些问题。尽管我已经尝试过一次,但是我仍然在这次部署......
  • paddlepaddle docker 安装实践
    系统:linuxcentosdocker-v#Dockerversion23.0.3,build...参考链接:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/docker/linux-docker.htmldockerhub:https://hub.docker.com/r/paddlepaddle/paddle/tags/拉取镜像:dockerpullpaddlepaddle/paddl......
  • CentOS7 中 semanage命令的安装(SELinux安全子系统)
    SELinux安全子系统SELinux(Security-EnhancedLinux)是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,MandatoryAccessControl)的安全子系统。RHEL7系统使用SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。SELinux服务有三种配......
  • centos7 如何修改ssh端口号
    要修改CentOS7上的SSH端口号,可以按照以下步骤进行:使用SSH登录到服务器。打开SSH配置文件/etc/ssh/sshd_config,可以使用文本编辑器(如vi或nano)进行编辑。sudovi/etc/ssh/sshd_config找到#Port22这一行(可能会因版本而异),去掉行首的注释符号#,并将22修改为......
  • docker 常用指令
    dockerload-i./power.tar 恢复镜像dockerps  列出所有正在运行容器信息dockerps-a  列出所有容器信息dockerimages 列出所有镜像dockerrun-it--name名称-p8196:80(端口映射) -e SQL_User=‘数据库用户名‘ -e SQL_Pass='数据库密码'-eSQL_Db_N......
  • JS 判断电脑是 Win 还是 mac?
    //判断系统类型functionOSnow(){constagent=navigator.userAgent.toLowerCase()constisMac=/macintosh|macosx/i.test(navigator.userAgent)if(agent.indexOf('win32')>=0||agent.indexOf('wow32')>=0){//yourcode......