如何在Windows 10下卸载Docker Machine

时间:2017-02-10 14:12:36

标签: windows powershell docker uninstall docker-machine

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

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

如果您需要更多信息,我只能在工作日提供。

7 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

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

如果你想先移动容器" docker ps -a"获取正在运行的容器列表。如果您的容器在列表中运行" docker stop [container_id]"。如果您的容器已停止或未运行而不是运行" docker rm [container_id]"。

答案 2 :(得分:1)

Docker提供了一个Powershell script来完成Windows 10上Docker的完全删除。

答案 3 :(得分:0)

以管理员身份打开C:\Program Files\Docker进入cmd

运行takeown /R /F *

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

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

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

kill -force -processname 'Docker for Windows', com.docker.db, vpnkit, 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" }

答案 4 :(得分:0)

CCleaner内部运行注册表清理可以让您安装新版本的docker。 然后您可以再次卸载Docker

答案 5 :(得分:0)

C:\Program Files\Docker>[15:01:17.869] [UninstallWorkflow] Reading installation 
manifest
[15:01:21.484] [UninstallWorkflow] Running before uninstall actions
[15:01:21.486] [UninstallWorkflow] Proceeding with CommunityInstaller.ExecAction
[15:01:23.467] [UninstallWorkflow] Action CommunityInstaller.ExecAction failed
Exception type: System.InvalidOperationException, Exception message: Process 
InstallerCli.exe exited with code 1, StackTrace:
at CommunityInstaller.ExecAction.<DoAsync>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
atSystem.Runtime.CompilerServices.TaskAwaiter.
HandleNonSuccessAndDebuggerNotification(Task task)
at CommunityInstaller.UninstallWorkflow.<ProcessAsync>d__11.MoveNext()

答案 6 :(得分:0)

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

  1. 停止docker服务
  2. 从任务管理器结束 docker 任务

然后尝试正常卸载。