问题描述:

在使用Docker时,执行systemctl start docker.service命令时,出现以下错误:

Failed to start docker.service: Unit not found.

问题分析:

该错误提示表明,系统找不到docker.service这个服务单元,因此无法启动Docker服务。

解决办法:

1. 检查Docker是否已经安装

在执行systemctl start docker.service命令之前,需要先确认Docker是否已经安装。可以通过执行以下命令来检查:

docker version

如果系统中已经安装了Docker,则会输出Docker的版本信息。

如果系统中没有安装Docker,则需要先安装Docker。

2. 检查Docker服务单元是否存在

如果Docker已经安装,但是执行systemctl start docker.service命令时仍然出现“Unit not found”错误,那么可能是因为Docker服务单元不存在。

可以通过执行以下命令来检查Docker服务单元是否存在:

systemctl list-unit-files | grep docker

如果输出结果中没有docker.service这个服务单元,则需要重新安装Docker或者手动创建docker.service文件。

3. 手动创建docker.service文件

如果Docker服务单元不存在,可以手动创建docker.service文件。具体步骤如下:

1)创建docker.service文件

在/etc/systemd/system/目录下创建docker.service文件,命令如下:

sudo vi /etc/systemd/system/docker.service

2)编辑docker.service文件

将以下内容复制到docker.service文件中:

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target docker.socket firewalld.service

Wants=network-online.target

Requires=docker.socket

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=1048576

LimitNPROC=infinity

LimitCORE=infinity

TimeoutStartSec=0

Restart=always

StartLimitBurst=3

StartLimitInterval=60s

RestartSec=5s

[Install]

WantedBy=multi-user.target

3)保存并退出

按下Esc键,输入:wq,保存并退出。

4)重新加载systemd配置

执行以下命令重新加载systemd配置:

sudo systemctl daemon-reload

5)启动Docker服务

执行以下命令启动Docker服务:

sudo systemctl start docker.service

执行完以上步骤后,再次执行systemctl start docker.service命令,应该就可以正常启动Docker服务了。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!