仓库在这里:https://github.com/dockur/windows/
废话不多说 直接跑起来
我这里是虚拟机跑的,没开嵌套虚拟化,也适合云服务器跑,具体看下面参数解释。
docker run -dit \
--name win10 \
-v /opt/win/:/share \
-v /opt/win/:/storage \
-v /root/cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x64_dvd_47161f17.iso:/custom.iso \
-p 3389:3389 \
-p 8006:8006 \
--cap-add NET_ADMIN \
--stop-timeout 120 \
-e LANGUAGE="Chinese" \
-e REGION="en-US" \
-e KEYBOARD="en-US" \
-e RAM_SIZE="4G" \
-e CPU_CORES="8" \
-e USERNAME="admin" \
-e PASSWORD="123456" \
-e VERSION="win10" \
-e DISK_SIZE="50G" \
-e MANUAL='n' \
-e KVM='N' \
--privileged \
--restart=always \
dockurr/windows:latest
命令参数解释
-
基本参数
docker run
:启动一个新的 Docker 容器。-dit
:以交互模式(-i
)启动容器,并将其分离运行(-d
),同时启用伪终端(-t
)。--name win10
:为容器命名为win10
,方便管理。
-
挂载卷
-v /opt/win/:/share
:直接共享文件夹路径。-v /opt/win/:/storage
:指定数据磁盘存储文件路径。-v /root/cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x64_dvd_47161f17.iso:/custom.iso
:将提前下载的 Windows 10 安装 ISO 文件挂载到容器内的/custom.iso
。
-
端口映射
-p 3389:3389
:将宿主机的 3389 端口映射到容器的 3389 端口,用于远程桌面协议(RDP)。-p 8006:8006
:将宿主机的 8006 端口映射到容器的 8006 端口,用于 Web 管理界面。
-
功能增强
--cap-add NET_ADMIN
:为容器添加网络管理权限,例如修改网络配置。--stop-timeout 120
:设置容器停止时的超时时间为 120 秒。
-
环境变量
-e LANGUAGE="Chinese"
:设置语言为中文。-e REGION="en-US"
:设置区域为美国。-e KEYBOARD="en-US"
:设置键盘布局为美国英语。-e RAM_SIZE="4G"
:分配 4 GB 内存。-e CPU_CORES="8"
:分配 8 核 CPU。-e USERNAME="admin"
:设置用户名为admin
。-e PASSWORD="123456"
:设置用户密码为123456
。-e VERSION="win10"
:指定版本为 Windows 10。-e DISK_SIZE="50G"
:分配 50 GB 磁盘空间。-e MANUAL='n'
:是否手动安装,n
表示禁用,反之自动安装系统。-e KVM='N'
:N
表示未启用 KVM,如果你的系统不支持虚拟化必须设置为N,实现软模拟,但是会很卡。如果系统支持kvm加速,请添加 --device=/dev/kvm。
-
特权模式
--privileged
:为容器赋予宿主机的所有权限,适用于需要高度权限的操作。
-
自动重启
--restart=always
:容器在停止或崩溃时自动重启。
-
镜像
dockurr/windows:latest
:基于dockurr/windows
镜像的最新版本运行容器。
访问 http://机器地址:8006/
接下来跟装虚拟机差不多,他是通过qemu虚拟化的,系统会自动安装。