如何在 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的主要内容,如果未能解决你的问题,请参考以下文章