暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在windows系统中运行Windows容器

程序员不秃头 2021-07-23
2254

简单描述下场景,对同一资源开启多个进程进行打包~,因第一次运行 windows 容器,把踩得坑记录一下.

1. 下载并安装 Docker Desktop

1.1 开启 Hyper-V

打开 windows 的开始菜单,搜索 “启动或关闭 Windows 功能”

image.png

然后勾选 Hyper-V 选项

 重启一下~

1.2 下载安装包

我们可以在 docker 的官网 docker 来下载 windows for docker

 下载之后,一步一步安装即可~

1.2 切换 windows 容器

安装之后,桌面右下角应该有个小鲸鱼图标,右键选择 “Switch to Windows containers” 选项,等待一会儿~

image.png

1.3 配置镜像源

双击小鲸鱼,找到设置 -》Docke Engine 选项, 因为 windows 镜像微软放在了 -mcr.microsoft.com 源里~ 所以配置一下镜像源,不然下载贼慢。。windows 的镜像又很大

{
"registry-mirrors": [
"https://dockerhub.azk8s.cn"
]
}
image.png

点击 Apply & Restart 等待一会儿~

2. 拉取 windows 镜像

2.1 选择镜像版本

我们可以在 dockerHub 上寻找自己需要的版本,不过 windows 官方提供了较多版本的镜像,我们选取合适的版本来构建自己的应用

image.png

具体的差别有兴趣可以研究一下,我这里选择使用 Windows Server Core 这个镜像,因为它相对来说大小合适,功能齐全

2.2 拉取镜像

在拉取镜像的时候要注意指定版本号,因为官方不维护 latest 标签~

image.png

我的电脑是 win10 专业版 20H2 版本号的,所以我这里就选择使用 20H2 版本的镜像 这里要注意,一定不能选择比自己电脑系统版本号高的镜像~

image.png

这里是官方的镜像版本列表

image.png

我们使用 PowerShell 执行拉取命令

docker pull mcr.microsoft.com/windows/servercore:20H2

我这里已经下载完了~睡了个午觉~ 

3. 创建并挂载容器

我在这里压缩了一个 G 盘出来专门做宿主机的挂载目录,并写了一个循环输出 Hello 语句的程序

image.png

我们执行下边的命令来 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

image.png

可以看到我们启动的两个容器内的 test 文件夹中都出现了我们的 main 程序。

image.png

4. 进行测试

执行 main.exe 程序,两个容器都正常进行输出~ 

Windows 容器化其实底层还是启动了一个 Linux 虚拟机~ 原理都一样,但是 Windows 系统吧~坑挺多的。。

参考

Windows 容器文档


文章转载自程序员不秃头,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论