在windows系统中运行Windows容器
简单描述下场景,对同一资源开启多个进程进行打包~,因第一次运行windows容器,把踩得坑记录一下.
1.下载并安装Docker Desktop
1.1开启Hyper-V
打开windows的开始菜单,搜索 “启动或关闭Windows功能”
然后勾选Hyper-V选项
重启一下~
1.2下载安装包
我们可以在docker 的官网 docker来下载windows for docker
下载之后,一步一步安装即可~
1.2切换windows容器
安装之后,桌面右下角应该有个小鲸鱼图标,右键选择 “Switch to Windows containers” 选项,等待一会儿~
1.3配置镜像源
双击小鲸鱼,找到设置-》Docke Engine 选项,
因为windows镜像微软放在了 -mcr.microsoft.com 源里~
所以配置一下镜像源,不然下载贼慢。。windows的镜像又很大
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn"
]
}
点击Apply & Restart 等待一会儿~
2.拉取windows镜像
2.1选择镜像版本
我们可以在dockerHub 上寻找自己需要的版本,不过windows官方提供了较多版本的镜像,我们选取合适的版本来构建自己的应用
具体的差别有兴趣可以研究一下,我这里选择使用Windows Server Core这个镜像,因为它相对来说大小合适,功能齐全
2.2拉取镜像
在拉取镜像的时候要注意指定版本号,因为官方不维护 latest标签~
我的电脑是win10专业版20H2版本号的,所以我这里就选择使用20H2版本的镜像
这里要注意,一定不能选择比自己电脑系统版本号高的镜像~
这里是官方的镜像版本列表
我们使用PowerShell执行拉取命令
docker pull mcr.microsoft.com/windows/servercore:20H2
我这里已经下载完了~ 睡了个午觉~
3.创建并挂载容器
我在这里压缩了一个G盘出来专门做宿主机的挂载目录,并写了一个循环输出Hello语句的程序
我们执行下边的命令来run一个容器
-d 代表后台运行
-it 代表启动容器后进入容器内
--name 代表容器的名称
-v 代表把宿主机的目录挂载到容器内的目录
docker run -d -it --name=test1 -v g:\test:c:\test mcr.microsoft.com/windows/servercore:20H2
在Docker Desktop上边也可以看到我们启动的容器,这里我同时启动了两个容器,分表叫test1 和test2
可以看到我们启动的两个容器内的test文件夹中都出现了我们的main程序。
4.进行测试
执行main.exe程序,两个容器都正常进行输出~
Windows容器化其实底层还是启动了一个Linux虚拟机~
原理都一样,但是Windows系统吧~坑挺多的。。