基于docker的Windows11

因项目需要,测试基于docker-win11环境下运行多核OpenMP程序,以下记录docker中安装windows11过程。

1. Windows11镜像下载

点击windows连接, 选择 Windows11(...ISO), 以及语言选项

下载 Windows 11icon-default.png?t=O83Ahttps://www.microsoft.com/zh-cn/software-download/windows11

下载得到6.4G的iso文件: Win11_23H2_Chinese_Simplified_x64v2.iso

2. dockers环境安装

2.1 docker环境

可参考:

Ubuntu Docker 安装 | 菜鸟教程

CentOS Docker 安装 | 菜鸟教程

2.2 镜像仓库配置

docker安装之后,默认是没有/etc/docker/daemon.json

正常情况下,国内访问docker Hub比较困难,可以换成国内的镜像仓库(但是对于一些特殊的镜像 如本例中的 qemu-docker,国内的镜像仓库中缺失),这里使用docker Hub的克隆镜像仓库 https://image.cgdcgd.cc  (这里很重要,否则后续会出现各种错误,如qemux/qemu-docker:6.0.1: failed to do request:....

配置镜像仓库:

vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://image.cgdcgd.cc",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

重新加载服务配置

sudo systemctl daemon-reload

重启docker服务

sudo systemctl restart docker

3. dockurr/windows镜像构建

这里采用了下面的镜像(需要连接docker Hub, 下载dockurr/windows所依赖的组件,这里使用docker Hub的克隆镜像仓库 https://image.cgdcgd.cc):

GitHub - dockur/windows: Windows inside a Docker container.Windows inside a Docker container. Contribute to dockur/windows development by creating an account on GitHub.icon-default.png?t=O83Ahttps://github.com/dockur/windows.git

3.1 下载dockurr/windows源码

从github中下载dockurr/windows

git clone https://github.com/dockur/windows.git
cd windows
ls

在windows目录下,可以看到

    Dockerfile assets compose.yml kubernetes.yml license.md readme.md src 等一些文件。

我们将利用Dockerfile构建dockurr/windows镜像

3.2 利用Dockerfile构建镜像

修改 Dockerfile 里面的参数:

vim Dockerfile

ENV RAM_SIZE="16G"

ENV CPU_CORES="4"

ENV DISK_SIZE="256G"

ENV VERSION="win11"

构建镜像:

docker build -t dockurr/windows .

成功构建 dockurr/windows 镜像。 接下来查看镜像:

docker images

可以看到 dockurr/windows 镜像

4. windows11安装与访问

接下来为windows11配置参数,并生成win11容器,以及访问win11

4.1 windows11容器生成

docker run -dit --name win11 -v /work_local:/share -v /work_local/lk/software/Win11_23H2_Chinese_Simplified_x64v2.iso:/custom.iso -p 4389:4389 -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN -e LANGUAGE="Chinese" -e REGION="en-US" -e KEYBOARD="en-US" -e RAM_SIZE="16G" -e CPU_CORES="24" -e USERNAME="admin" -e PASSWORD="123456" -e VERSION="win10" -e DISK_SIZE="256G" dockurr/windows:latest

  以上命令执行之后,将会自动安装windows11.

参数说明:

  • 共享存储(挂载目录 /work_local)

-v /work_local:/share

  • 挂载一个本地镜像

-v /work_local/lk/software/Win11_23H2_Chinese_Simplified_x64v2.iso:/custom.iso

  • 添加了两个端口

-p 4389:4389

-p 8006:8006

其中4389是用来远程登录,8006是用来vnc管理

  • 添加了设备

--device=/dev/kvm

  • 添加了权限

--cap-add NET_ADMIN

  • 添加了超时时间 (这里省略了)

--stop-timeout 120

  • 添加了一些环境变量,语言、地区、键盘布局、内存容量、cpu核心数、版本号、磁盘容量、用户名、密码

-e LANGUAGE="Chinese" -e REGION="en-US" -e KEYBOARD="en-US" -e RAM_SIZE="16G" -e CPU_CORES="2" -e USERNAME="admin" -e PASSWORD="123456" -e VERSION="win10" -e DISK_SIZE="256G"

 docker run 参数说明,可参考:

【docker常用命令系列】docker run示例选项用法大全权威详解 - 知乎 (zhihu.com)

4.2 Windows11访问

使用浏览器访问  

        http://<服务器IP>:8006

耐心等待..., 安装大约需要 20分钟左右

至此docker-win11容器安装成功。

可以安装ToDesk, 向日葵等软件进行远程访问。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值