如何在Windows 10下卸载Docker机器
How to uninstall Docker Machine under Windows 10
我没有找到从我的 Windows 10 Edu 中删除 Docker 机器的任何解决方案,但是 Windows 上 Docker 机器的文档非常少见。
我是 Powershell 的新手,所以也许有一个我没有找到的简单命令...
是的...如果 Docker 是通过正常过程安装的,那么它应该出现在您的控制面板 > 程序 > 程序和功能中,并且应该允许您卸载它。
如果您是安装它的用户,那么您应该能够卸载它,否则您可能需要管理员权限才能执行此操作。
编辑 好吧,如果你想删除图像本身,首先 运行 "docker images" 然后 "docker rmi [image_id]".
如果要先移除容器运行 "docker ps -a" 获取运行ning 容器列表。如果您的容器在 运行 "docker stop [container_id]" 列表中。如果您的容器停止或未 运行ning 比 运行 "docker rm [container_id]".
以管理员身份打开 cmd
转到 C:\Program Files\Docker
。
运行 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, 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" }
运行 registry clean inside CCleaner 允许您安装新版本的 docker。
然后您可以再次卸载 docker
您可以卸载 docker,只需在任务管理器的启动应用程序中将其禁用即可。禁用它后,只需重新启动系统并从控制面板中将其卸载。
我也遇到了同样的问题,不过我分两步解决了。
- 停止docker服务
- 从任务管理器
结束任务docker
然后尝试正常卸载。
我没有找到从我的 Windows 10 Edu 中删除 Docker 机器的任何解决方案,但是 Windows 上 Docker 机器的文档非常少见。
我是 Powershell 的新手,所以也许有一个我没有找到的简单命令...
是的...如果 Docker 是通过正常过程安装的,那么它应该出现在您的控制面板 > 程序 > 程序和功能中,并且应该允许您卸载它。
如果您是安装它的用户,那么您应该能够卸载它,否则您可能需要管理员权限才能执行此操作。
编辑 好吧,如果你想删除图像本身,首先 运行 "docker images" 然后 "docker rmi [image_id]".
如果要先移除容器运行 "docker ps -a" 获取运行ning 容器列表。如果您的容器在 运行 "docker stop [container_id]" 列表中。如果您的容器停止或未 运行ning 比 运行 "docker rm [container_id]".
以管理员身份打开 cmd
转到 C:\Program Files\Docker
。
运行 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, 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" }
运行 registry clean inside CCleaner 允许您安装新版本的 docker。 然后您可以再次卸载 docker
您可以卸载 docker,只需在任务管理器的启动应用程序中将其禁用即可。禁用它后,只需重新启动系统并从控制面板中将其卸载。
我也遇到了同样的问题,不过我分两步解决了。
- 停止docker服务
- 从任务管理器 结束任务docker
然后尝试正常卸载。