虚拟环境:
1、VMware Workstation 16 Pro
2、CentOS 7(CentOS Linux release 7.9.2009 (Core),内核版本3.10.0-1160.el7.x86_64)
问题描述:
虚拟机可以与物理主机互相Ping通,也可以Ping通百度,但是总是莫名其妙断网,下载docker镜像几乎很难(已经配置了镜像源,但是下载速度非常非常慢,总是以超时失败而告终),对比了主机与虚拟机的网速,同时打开百度首页,虚拟机的网速慢的一P(可能与虚拟机配置有关),甚至断网,折腾许久,干脆放弃在虚拟机中下载镜像了。
经过一番查找,打算在win10系统安装Docker DeskTop,(图标是这样),从主机这边下镜像。下图是Docker DeskTop的主界面。
安装方法参考这篇文章Windows 容器化-安装 docker - 知乎,首先要确认你的win10 系统版本是否支持,不支持的话,先升级系统版本(升级过程比较慢,我大约用了一个小时左右),系统升级工具为MediaCreationTool22H2.exe,链接:百度网盘 请输入提取码
我的系统升级后,版本如下:
Docker DeskTop的安装程序下载链接如下:百度网盘 请输入提取码,安装过程就是一路下一步就对了,打开主界面(不登录也可以进入主界面,点击跳过注册就行),进入主界面后,点击右上角小齿轮, 点击Docker Engine选项卡,
在编辑框的json代码段中添加你要配置的国内镜像源,我的如下,其中阿里云镜像服务加速器地址(如下代码中的 "https://xxxx.mirror.aliyuncs.com"),你用你自己的,登录阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,在
容器镜像服务/镜像加速器中找到加速器地址,复制粘贴即可。
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://xxxx.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn/"
]
}
参考这篇文章,Windows Docker 配置国内镜像源的两种方法。
回到Docker DeskTop的主界面搜索镜像(因为不知道怎么科学上网,这里根本没法显示搜索结果),但是通过docker pull命令还是可以拉镜像的,此时打开系统命令行窗口(以管理员身份),就可以使用docker了
镜像拉取速度还是可以的,至少比虚拟机里快多了。然后把你拉取到的镜像通过
docker save -o xxx.tar 镜像名:标签
命令保存在本地磁盘,再通过远程工具传到centos虚拟机里,在虚拟机中用
docker load -i xxx.tar
加载镜像,就可以用了。
(当然也可以在网上下载别人提供的现成镜像,我这里只是为了练习docker操作,但是虚拟机的网速实在太拉胯,纯属笨办法)
PS:刚装完Docker DeskTop后,启动虚拟机时,报错(忘记错误具体描述了,总之是启动不起来),百度搜索后,做了一些操作,虚拟机可以跑起来了,But,Docker DeskTop又挂了,报错:Docker Desktop Unexpected WSL error,尝试过以下方法:
1、解决win10因为WSL问题无法正常启动docker-CSDN博客
2、解决:Docker Desktop Unexpected WSL error_docker_小小白@-云原生技术专区
都不行,重启N回,还是报同样的错误,大概意思是:Docker要在Windows系统中运行,必须要有Linux环境,WSL是一个在Windows上的Linux虚拟环境,因为WSL无法启动导致Docker Desktop启动失败,可以参考官网文档安装 WSL | Microsoft Learn的描述,但是我电脑上始终无法正常启动WSL,报错
“ Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS ”
后来在这篇文章(WSL报告"请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化"问题一例 - 知乎)中找到办法,
解决办法:按Win+X快捷键,选择Window 终端(管理员),
输入命令: bcdedit /set hypervisorlaunchtype auto 回车,然后重启电脑即可解决。
成功安装了WSL,也就是要正常跑起来Docker DeskTop,你得有这三个玩意儿,如下图