问题描述:
在使用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服务了。