Docker Desktop: Service is not running

在Windows 10系统中,用户遇到了Docker Desktop服务无法启动的问题,表现为启动后闪退。尝试通过管理员权限启动服务、检查Hyper-V设置、修改系统路径等方法未果。最终,通过启动Server服务解决了问题。详细步骤包括打开服务管理器,找到Server服务并将其启动状态设为"启动"。
部署运行你感兴趣的模型镜像

环境:Win 10 企业版, 版本号: 1909

问题描述:

安装docker desktop, 经过一次关机以及系统升级之后,docker desktop 无法启动。如下图,点击Start之后会闪退。

在terminal下,

C:\Users\xx>docker version

Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:43:18 2020
 OS/Arch:           windows/amd64
 Experimental:      false
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

C:\Users\xx>docker info
Client:
 Debug Mode: false

Server:
ERROR: error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

尝试过的方案:

1. 在管理员权限的power_shell,net start com.docker.service

结果:  PS C:\Windows\system32> net start com.docker.service
            发生系统错误 1068。
            依赖服务或组无法启动。

2. 开始 -> cmd -> services.msc,启动Docker Desktop Service,

结果: 弹窗错误, 同上。

3. 控制面板 -> 程序 -> 启动或关闭Windows功能, 检查Hyper-V是否勾选,已经全部勾选。

4. terminal 下输入:docker-machine env default

结果:docker-machine : 无法将“docker-machine”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,              如果包括路径,请确保路径正确,然后再试一次。
            所在位置 行:1 字符: 1
           + docker-machine env default
           + ~~~~~~~~~~~~~~
           + CategoryInfo : ObjectNotFound: (docker-machine:String) [], CommandNotFoundException
           + FullyQualifiedErrorId : CommandNotFoundException

尝试把docker的路径(C:\Program Files\Docker\Docker\resources\bin)加入到系统路径,再试,依旧会遇到这个问题。

要自闭了。。。。

Finally, 在安装docker的时候遇到Docker Desktop requires the Server service to be enabled这个问题,当时是按照这个解决方案解决的,具体可以参考https://blog.youkuaiyun.com/sunhy_csdn/article/details/106526991

把server启动,再重试双击docker desktop竟然成功了。

解决方法如下:

Step1:在命令行运行 cmd ,输入命令 services.msc 并回车;

Step2:  在弹出的窗口中查找并选中 Server, 双击,将 Server 的 服务状态 设置为 “启动”:

至于原因,我也不知道,希望有大神可以指点一下!!先把膝盖留这了。

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

<think> 我们之前已经解决了在PowerShell中执行`DockerCli.exe -SwitchDaemon`命令时出现的语法错误问题。现在,用户在执行该命令后(可能是通过正确的方式执行了,比如在CMD中执行),遇到了"Service is not running"的问题。我们需要解决这个新问题。 根据引用[2]和引用[3]的信息,这个问题通常与Docker服务未运行有关。同时,引用[2]提到在安装Docker Desktop时可能遇到要求启用Server服务(Windows服务)的问题。 用户的问题场景: 1. 用户试图切换Docker守护进程(可能是从Hyper-V切换到WSL2,反之亦然),但在执行切换命令后遇到了服务未运行的问题。 2. 可能的原因包括: - Docker服务因为切换失败而停止 - 系统服务依赖问题(如Server服务未启用) - 安装或配置损坏 解决步骤: ### 步骤1:检查Docker服务状态 在Windows中,Docker Desktop运行依赖于后台服务。我们可以通过以下方式检查服务状态: **方法一:通过服务管理器** 1. 按`Win+R`,输入`services.msc`并回车。 2. 找到`Docker Desktop Service`,查看其状态是否为“正在运行”。如果没有,尝试右键启动。 **方法二:使用PowerShell命令** ```powershell Get-Service -Name "com.docker.service" ``` 如果状态不是`Running`,尝试启动: ```powershell Start-Service -Name "com.docker.service" ``` ### 步骤2:确保Windows Server服务已启用 根据引用[2],Docker Desktop要求Windows的Server服务处于运行状态。检查方法: 1. 在服务管理器(services.msc)中找到`Server`服务。 2. 确保其启动类型为“自动”,并且状态为“正在运行”。如果不是,右键设置属性,启动类型改为自动,然后启动服务。 ### 步骤3:重启Docker Desktop 1. 在系统托盘中找到Docker图标,右键选择“退出Docker Desktop”。 2. 重新启动Docker Desktop(通过开始菜单或桌面快捷方式)。 ### 步骤4:检查Docker引擎是否正常运行 打开PowerShell,运行: ```powershell docker info ``` 如果返回正常信息,说明问题已解决。如果仍然报错(如引用[3]中的错误),则继续以下步骤。 ### 步骤5:重新初始化Docker(重置) 如果服务仍然无法启动,尝试重置Docker Desktop配置: 1. 右键点击系统托盘的Docker图标,选择“Settings”(设置)。 2. 进入“Reset”选项卡,点击“Reset to factory defaults”(重置为出厂设置)。 3. 重置完成后重启计算机,再启动Docker Desktop。 ### 步骤6:检查Windows版本和Docker的兼容性 确保Windows版本满足Docker Desktop的要求(Windows 10专业版/企业版/教育版,版本1903以上,且启用Hyper-V和WSL2功能)。 ### 步骤7:重新安装Docker Desktop 如果以上步骤均无效,考虑重新安装: 1. 完全卸载Docker Desktop(包括清除数据)。 2. 从官网下载最新安装包重新安装。 卸载步骤: - 控制面板 -> 程序和功能 -> 卸载Docker Desktop - 手动删除残留文件(通常位于`C:\Program Files\Docker`和`C:\Users\<User>\AppData\Local\Docker`) 重新安装后,再次尝试切换守护进程。 ### 验证 执行以下命令验证: ```powershell docker version ``` 应该会显示Client和Server的版本信息。 如果切换引擎成功,可以通过以下命令查看当前引擎模式: ```powershell docker info --format "{{.OperatingSystem}}" ``` 如果是WSL2模式,会显示类似`Docker Desktop`和`WSL`的信息;如果是Hyper-V模式,则显示Windows信息。 --- ### 📌 相关问题 §§相关问题§§ 1. 如何检查Docker Desktop是否正在使用WSL2后端? 2. 如何在Windows中完全卸载Docker Desktop? 3. 启用Windows的Hyper-V功能有哪些系统要求? </think> ### 解决 Docker 服务未运行问题的完整指南 您遇到的问题是由于 Docker 服务未能正常运行导致的。当 DockerCli.exe 切换守护进程失败时,可能破坏服务配置。以下是系统化的解决方案: --- #### 🔧 第一步:检查并修复服务状态 1. **手动启动 Docker 服务**: ```powershell # 以管理员身份运行 PowerShell Start-Service -Name "com.docker.service" -ErrorAction SilentlyContinue ``` - 如果提示服务不存在,说明安装可能损坏 2. **检查服务依赖项**: ```powershell Get-Service -Name "com.docker.service" | Format-List -Property * ``` - 确认`Status`应为`Running`,`StartType`应为`Automatic` - 如果显示`Stopped`,尝试重置服务: ```powershell Stop-Service -Name "com.docker.service" -Force Start-Service -Name "com.docker.service" ``` --- #### ️ 第二步:修复 Docker 安装核心问题 1. **清理旧版本冲突**(引用[4]): ```powershell # 卸载所有 Docker 组件 wsl --unregister docker-desktop wsl --unregister docker-desktop-data Get-WindowsFeature *docker* | Uninstall-WindowsFeature ``` 2. **重新初始化 Docker**: ```powershell # 重置配置目录 Remove-Item -Path "~\.docker" -Recurse -Force Remove-Item -Path "~\.wslconfig" -Force # 重新注册服务 & 'C:\Program Files\Docker\Docker\DockerCli.exe' -RegisterService ``` 3. **启用必需的 Windows 服务**(引用[2]): 1. 按`Win+R`运行`services.msc` 2. 确保以下服务均为**自动启动**状态: - Server - Hyper-V Virtual Machine Management - Windows Subsystem for Linux (WSL) --- #### 📥 第三步:重装 Docker Desktop(终极方案) 1. 完全卸载: ```powershell # 停止所有容器 docker rm -f $(docker ps -aq) # 官方卸载脚本 & 'C:\Program Files\Docker\Docker\uninstall.exe' /S ``` 2. 清理残留文件: ```powershell Remove-Item -Path "C:\Program Files\Docker" -Recurse -Force Remove-Item -Path "$env:ProgramData\Docker" -Recurse -Force ``` 3. 安装最新版本: - 从官网下载安装包:[https://www.docker.com/products/docker-desktop](https://www.docker.com/products/docker-desktop) - 安装时勾选 **Enable WSL Integration** --- #### ✅ 第四步:验证修复结果 1. 检查服务状态: ```powershell docker info --format '{{.ServerVersion}}' ``` - 成功应返回类似 `24.0.7` 的版本号 2. 测试基础功能: ```powershell # 运行测试容器 docker run --rm hello-world # 查看后台服务 docker system info ``` 3. 验证守护进程切换: ```powershell & 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon docker info --format '{{.OperatingSystem}}' ``` - 输出应为 `Docker Desktop`(WSL2模式)或 `Windows`(Hyper-V模式) > **注意**:操作全程需使用**管理员权限**的 PowerShell[^2]。如遇防火墙拦截,需允许`docker-agent.exe`通过防火墙。 --- ### ⚠️ 常见问题解决方案 | 错误类型 | 解决命令 | |---------|----------| | **端口冲突** | `net stop winnat` <br> `docker start` <br> `net start winnat` | | **WSL 初始化失败** | `wsl --shutdown` <br> `wsl --update` | | **磁盘空间不足** | `docker system prune -a --volumes` | --- ### 📌 相关问题
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值