如何在 Windows 10 下卸载 Docker Machine

Posted

技术标签:

【中文标题】如何在 Windows 10 下卸载 Docker Machine【英文标题】:How to uninstall Docker Machine under Windows 10 【发布时间】:2017-06-28 22:11:50 【问题描述】:

我没有找到从我的 Windows 10 Edu 中删除 Docker Machine 的任何解决方案,但是 Windows 上的 Docker Machine 文档非常少。

我是 Powershell 的新手,所以可能有一个我没有找到的简单命令...

【问题讨论】:

控制面板>>程序和功能?? 不,只有 Docker,我已经通过 curl (docs.docker.com/machine/install-machine) 安装了 Machine 这是一个独立的程序,所以你只需要从你的bin文件夹中删除'docker-machine.exe'。 docker-machine.exe 已被删除,它在 $home/bin/ 中,我没有复制或移动到任何地方。我几乎可以肯定它没有更多的标记,但我仍然可以将 docker-machine 与 ls create 或其他任何东西一起使用! :// 如果星期一我没有答案,我可能会删除所有内容,这会让我有空余时间,但比等待准确答案要少:) 【参考方案1】:

我有同样的问题,但我通过两个步骤解决了它。

    停止泊坞窗服务 从任务管理器结束 docker 任务

然后尝试正常卸载。

【讨论】:

【参考方案2】:

您可以通过简单地从任务管理器的启动应用程序中禁用 docker 来卸载它。禁用它后,只需重新启动系统并从控制面板卸载它。

【讨论】:

为什么我在 docker 启动时有 bug 卸载它和 .并再次安装它并不能解决问题。它总是崩溃 docker 无法启动【参考方案3】:

在CCleaner 中运行 registry clean 允许您安装新版本的 docker。 然后你可以再次卸载 docker

【讨论】:

【参考方案4】:

转到C:\Program Files\Docker,以管理员身份打开cmd

运行takeown /R /F *

运行ICACLS * /T /Q /C /RESET

** 不要在Program files文件夹中运行,否则重启后会进入bootloop,请先进入Docker文件夹。

在Program files文件夹中创建如下内容并以.ps1扩展名保存的小文件,然后右键单击它和Run with Powershell

kill -force -processname 'Docker for Windows', com.docker.db, ***kit, com.docker.proxy, com.docker.9pdb, moby-diag-dl, dockerd

try 
    ./MobyLinux.ps1 -Destroy
 Catch 

$service = Get-WmiObject -Class Win32_Service -Filter "Name='com.docker.service'"
if ($service)  $service.StopService() 
if ($service)  $service.Delete() 
Start-Sleep -s 5
Remove-Item -Recurse -Force "~/AppData/Local/Docker"
Remove-Item -Recurse -Force "~/AppData/Roaming/Docker"
if (Test-Path "C:\ProgramData\Docker")  takeown.exe /F "C:\ProgramData\Docker" /R /A /D Y 
if (Test-Path "C:\ProgramData\Docker")  icacls "C:\ProgramData\Docker\" /T /C /grant Administrators:F 
Remove-Item -Recurse -Force "C:\ProgramData\Docker"
Remove-Item -Recurse -Force "C:\Program Files\Docker"
Remove-Item -Recurse -Force "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Docker"
Remove-Item -Force "C:\Users\Public\Desktop\Docker for Windows.lnk"
Get-ChildItem HKLM:\software\microsoft\windows\currentversion\uninstall | % Get-ItemProperty $_.PSPath  | ?  $_.DisplayName -eq "Docker"  | Remove-Item -Recurse -Force
Get-ChildItem HKLM:\software\classes\installer\products | % Get-ItemProperty $_.pspath | ?  $_.ProductName -eq "Docker"  | Remove-Item -Recurse -Force
Get-Item 'HKLM:\software\Docker Inc.' | Remove-Item -Recurse -Force
Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\Run -name "Docker for Windows" | Remove-Item -Recurse -Force
#Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\UFH\SHC | ForEach-Object Get-ItemProperty $_.PSPath | Where-Object  $_.ToString().Contains("Docker for Windows.exe")  | Remove-Item -Recurse -Force $_.PSPath
#Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\UFH\SHC | Where-Object  $(Get-ItemPropertyValue $_) -Contains "Docker" 

【讨论】:

显然没有。我重新下载了安装程序,但是当我运行它时,它会抛出以下消息:Docker Desktop 2.0.0.3 Existing version is up to date。和关闭按钮。找到了解决办法,当然涉及到Windows Registry。这是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中的一个名为“Docker Desktop”的键。我删除了它及其所有子键,然后 Docker 安装完成。 @Mitendra 的观察可以如下调整:Get-Item HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object -FilterScript $_.GetValue("DisplayName") -match "Docker" | Remove-Item -Recurse -Force 谢谢!几个月来我一直在尝试删除它【参考方案5】:

是的...如果 Docker 是通过正常过程安装的,那么它应该出现在您的控制面板 > 程序 > 程序和功能中,并且应该允许您卸载它。

如果您是安装它的用户,那么您应该能够卸载它,否则您可能需要管理员权限才能执行此操作。

编辑好的,如果你想删除图像本身,首先运行“docker images”,然后运行“docker rmi [image_id]”。

如果要删除容器,请先运行“docker ps -a”以获取正在运行的容器列表。如果您的容器在列表中,请运行“docker stop [container_id]”。如果您的容器已停止或未运行,请运行“docker rm [container_id]”。

【讨论】:

我只想删除 Machine 而不是一般的 Docker,在控制面板中只有 Docker 而不是我通过 curl 安装的 Machine (docs.docker.com/machine/install-machine) Docker Machine 不是一个容器,它是一个你必须下载的工具,通常是用 curl "uninstall" Machine 简单地删除你下载的文件......但我找不到我计算机上的任何 docker-machine.exe 和 gci -recurse -filter "docker-machine.exe" 都不会返回任何内容...

以上是关于如何在 Windows 10 下卸载 Docker Machine的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows下卸载重装Mysql

Windows10系统下,彻底删除卸载MySQL

如何在Windows下卸载重装Mysql

无法创建仅限主机的适配器 - windows 10、docker、virtualbox

如何卸载linux下docker

如何防止标准 Windows 10 用户的卸载程序提升?