VMware上的windows虚拟机安装使用Docker方法
因为在实体机上使用Docker会导致VMware无法启动虚拟机,所以尝试了在虚拟机中安装Docker.
1. 创建Windows虚拟机.
- windows至少是Win10 1.9***或者Win 11. 这是Docker Desktop要求的。
2. 虚拟机CPU要开启虚拟化功能。
- 虚拟机的CPU开启虚拟化
- 虚拟机的memory要不小于4G
3. 虚拟机安装wsl2
- 开启虚拟化功能。要开启Hyper-V, Virtual Machine Platform, Windows SubSystem for Linux 3项。
- 命令行执行wsl --update 来安装最新的wsl核心。
- 命令行执行wsl --set-default-version 2 设置默认使用wsl2
- wsl --install -d ubuntu-24.04 安装ubuntu 24.04
可以通过wsl --list --online 查看所有Linux发行版名,再下载合适的Linux
- wsl -l -v 查看已安装的ubuntu是否是wsl2, 如果不是的话执行 wsl --set-version ubuntu-24.04 2 来设置为wsl2
安装Docker
- 从Docker官网下载Docker Desktop安装包
- 成功安装后,启动Docker service. 如果Docker Service没有启动的话,要手动启动。这里不赘述如何启动windows服务。
- 运行Docker Desktop, 没有提示Docker Engine Stopped说明Docker 正常运行。
补充
docker 运行成功后发现无法下载镜像
- 升级Docker Desktop 到最新
- 添加了镜像源
尝试在setting -> Docker Engine里添加以下镜像源
“registry-mirrors”: [“https://registry.docker-cn.com”,“https://docker.mirrors.ustc.edu.cn”,“https://registry.cn-hangzhou.aliyuncs.com”,“http://hub-mirror.c.163.com”,"https://docker.xuanyuan.me","https://docker.1ms.run"
]重启Docker Engine后执行docker pull python:3.13.2 返回 Error response from daemon: Head “https://registry-1.docker.io/v2/library/python/manifests/3.13.2”: Get “https://auth.docker.io/token?scope=repository%3Alibrary%2Fpython%3Apull&service=registry.docker.io”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
- 上一步的关键点是docker依然访问了https://registry-1.docker而不是新配置的镜像源。最后逐一排查源,最后修改到如下终于成功下载了镜像。
“registry-mirrors”: ["https://docker.xuanyuan.me"
]