小编tdr*_*vic的帖子

强制 Windows 版 docker 使用 Hyper-V 而不是 WSL2

从2.3.0.2版本开始,docker桌面可以安装在Windows 10家庭版上,因为它可以使用Windows功能WSL2而不是Hyper-V。Windows 10 家庭版未安装 Hyper-V。

我仅限于 Windows 10 家庭版,并且我正在从事的项目无法使用 WSL2 作为 docker-for-windows 后端;仅适用于 Hyper-V。我使用下面的批处理脚本在 Windows 10 Home 上安装了 Hyper-V,但无法在 docker 中从 WSL 切换到 Hyper-V。

该选项呈灰色。

该选项呈灰色。

如何在 Windows 10 家庭版上强制 docker 使用 Hyper-V 而不是 WSL2?

在 Windows Home 上安装 Hyper-V 的批处理脚本:

pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt

for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hyper-v.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
Run Code Online (Sandbox Code Playgroud)

docker docker-for-windows docker-desktop

9
推荐指数
1
解决办法
8974
查看次数

如何删除docker镜像?

我的项目包含一个用于构建映像的 Dockerfile。我对该 Dockerfile 进行了修改,想看看它是否有效。所以我关闭了我的程序并使用docker image ls -a. 我使用docker rmi -f $(docker images -a -q)和删除了所有未使用的图像docker image prune -a

但是我的图像一直没有被删除,而只是“未标记”:

Untagged: my_image:latest
Untagged: my_image@sha256:16eb92a476be0...
Run Code Online (Sandbox Code Playgroud)

在尝试删除映像之前,所有容器都已停止并删除。
当我重新启动应用程序以构建新映像时,旧映像不断被使用:

> docker image ls -a
REPOSITORY                     TAG           IMAGE ID            CREATED      
/my_image                      latest        0d79904a74b0        2 months ago
Run Code Online (Sandbox Code Playgroud)

我如何实际删除旧图像,以便我的应用程序可以构建一个新图像?

docker kubernetes docker-desktop

3
推荐指数
1
解决办法
1331
查看次数