繁体   English   中英

如何在 Windows 10 下卸载 Docker Machine

[英]How to uninstall Docker Machine under Windows 10

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

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

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

运行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" }

Docker提供了一个Powershell脚本 ,可以在Windows 10上完全删除Docker。

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

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

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

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

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

我有同样的问题,但我通过两个步骤修复它。

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

然后尝试正常卸载。

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

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM