Windows 如何卸载 Docker

本文详细介绍了在Windows Server上卸载Docker的步骤,包括停止运行的容器,删除容器、镜像、网络和卷,以及使用PowerShell cmdlet卸载Docker模块和程序数据。此外,还指导了如何清理Docker的默认网络,禁用与Docker相关的Windows功能,如容器和Hyper-V,并最终重启系统完成卸载过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在卸载 Docker 之前,请确保系统上没有运行任何容器。

运行以下 cmdlet,检查是否有正在运行的容器:

PowerShell

# Leave swarm mode (this will automatically stop and remove services and overlay networks)
docker swarm leave --force

# Stop all running containers
docker ps --quiet | ForEach-Object {docker stop $_}

最好在删除 Docker 之前也从系统中删除所有容器、容器映像、网络和卷。 为此,可以运行以下 cmdlet:

PowerShell

docker system prune --volumes --all

卸载 Docker

 

在 Windows Server 上卸载 Docker

从提升的 PowerShell 会话中,使用 Uninstall-PackageUninstall-Module cmdlet 从系统中删除 Docker 模块及其相应的程序包管理提供程序,如以下示例所示:

PowerShell

Uninstall-Package -Name docker -ProviderName DockerMsftProvider
Uninstall-Module -Name DockerMsftProvider

提示

可以查找曾通过 PS C:\> Get-PackageProvider -Name *Docker* 用于安装 Docker 的程序包提供程序

清理 Docker 数据和系统组件

在卸载 Docker 后,需删除 Docker 的默认网络。这样,在卸载 Docker 后,这些网络的配置就不会保留在系统上。 为此,可以运行以下 cmdlet:

PowerShell

Get-HNSNetwork | Remove-HNSNetwork

在 Windows Server 2016 上删除 Docker 的默认网络。

PowerShell

Get-ContainerNetwork | Remove-ContainerNetwork

运行以下 cmdlet,从系统中删除 Docker 的程序数据:

PowerShell

Remove-Item "C:\ProgramData\Docker" -Recurse

可能还需要删除 Windows 上与 Docker/容器关联的 Windows 可选功能。

这包括“容器”功能,安装 Docker 时会在任何 Windows 10 或 Windows Server 2016 上自动启用该功能。 这还可能包括“Hyper-V”功能,安装 Docker 时可在 Windows 10 上自动启用该功能,但必须在 Windows Server 2016 上显式启用该功能。

重要

Hyper-V 功能是一种常规虚拟化功能,该功能所启用的远远不止是容器。 禁用 Hyper-V 功能之前,请确保系统上没有其他虚拟化组件需要 Hyper-V。

若要在 Windows 10 上删除 Windows 功能,请执行以下操作:

  • 转到“控制面板” > “程序” > “程序和功能” > “打开或关闭 Windows 功能。
  • 查找想要禁用的一项或多项功能的名称,在本例中为“容器”和(可选)“Hyper-V”。
  • 取消选中要禁用的功能名称旁边的框。
  • 选择“确定”

若要在 Windows Server 2016 上删除 Windows 功能,请执行以下操作:

从提升的 PowerShell 会话中运行以下 cmdlet,禁用系统中的“容器”和(可选)“Hyper-V”功能:

PowerShell

Remove-WindowsFeature Containers
Remove-WindowsFeature Hyper-V

重启系统

若要完成卸载和清理操作,请从提升的 PowerShell 会话运行以下 cmdlet,重启系统:

PowerShell

Restart-Computer -Force
### 卸载 Docker 时 WSL 的处理 在 Windows卸载 Docker 并不一定意味着要同时卸载 WSL (Windows Subsystem for Linux)[^1]。Docker Desktop 使用 WSL 2 来提供更高效的容器运行环境,但这并不表示两者之间存在强制性的捆绑关系。 #### 关于两者的依赖关系 - **Docker 和 WSL 的关联**:当安装 Docker Desktop 后,它可能会自动启用 WSL 2 或者提示用户安装所需的 WSL 发行版。这是因为 Docker 利用了 WSL 2 提供的轻量级虚拟化技术来加速容器启动速度以及提高性能表现[^4]。 - **独立性**:尽管如此,WSL 是一个独立的功能组件,即使移除了 Docker,仍然可以在开发环境中继续保留并使用 WSL 进行其他类型的 Linux 应用程序测试或开发工作。 #### 正确的卸载步骤 为了安全地从系统中删除 Docker 及其相关联的数据: 1. 停止所有正在使用的 WSL 实例可以通过命令 `wsl --shutdown` 完成; 2. 执行标准的应用程序卸载流程,即通过控制面板中的“程序和功能”选项找到 Docker Desktop 并选择卸载; 3. 如果希望彻底清除残留文件夹与注册表项,可参照官方文档进一步操作,但通常默认的卸载过程已经足够清理大部分内容; 4. 对于不再需要的 WSL 分发版本,可以选择单独卸载这些分发而不影响整个子系统的正常运作。例如,对于名为 "Ubuntu-22.04" 的发行版,可以执行如下命令来进行终止并最终卸载: ```bash wsl -t Ubuntu-22.04 ``` 需要注意的是,在完成上述操作之后,如果确实不打算再使用任何基于 WSL 的工具和服务,则可以选择禁用此特性以释放资源。但是,这一步骤并非必要,除非有特别的需求考虑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值