You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行sudo services docker start报错:Unit docker.service not found的排查与解决咨询

问题原因及解决办法

原因1:命令输入笔误

你执行的命令是sudo services docker start,这里存在错误——正确的命令应为单数形式的service,或者使用更通用的systemctl命令:

sudo service docker start
# 或
sudo systemctl start docker

先尝试修正命令后重新启动服务。

原因2:Docker未注册为systemd服务单元

手动安装Docker时,若未正确配置systemd服务文件,系统会找不到docker.service单元,按以下步骤修复:

  1. 先确认是否存在Docker服务单元:
    systemctl list-unit-files | grep docker
    
    若无任何输出,说明服务单元未配置。
  2. 创建systemd服务文件:
    sudo nano /etc/systemd/system/docker.service
    
    将以下基础配置粘贴进去(适配多数Linux发行版):
    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
    
    [Service]
    Type=notify
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    ExecReload=/bin/kill -s HUP $MAINPID
    TimeoutSec=0
    RestartSec=2
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  3. 重新加载systemd配置:
    sudo systemctl daemon-reload
    
  4. 启动并设置开机自启:
    sudo systemctl start docker
    sudo systemctl enable docker
    

原因3:Docker安装不完整或PATH未配置

如果执行docker --version无版本输出,说明手动安装的Docker未添加到系统PATH,或安装文件缺失:

  • 找到手动安装Docker的目录,将其bin路径添加到系统PATH,比如编辑~/.bashrc:
    echo 'export PATH=/path/to/docker/bin:$PATH' >> ~/.bashrc
    source ~/.bashrc
    
  • 若安装文件损坏,建议重新按照参考手册的步骤重新安装Docker,务必完成服务注册环节。

关于异常退出的影响

非规范退出Docker一般不会直接导致服务单元丢失,若启动后仍有异常,可清理残留进程文件:

sudo rm -rf /var/run/docker.pid
sudo systemctl restart docker

内容的提问来源于stack exchange,提问作者Radin Zahedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:07:40