|

楼主 |
发表于 2025-5-3 09:43
|
显示全部楼层
- https://github.com/dockur/windows
- docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 dockurr/windows
- https://hub.docker.com/r/dockurr/windows
- https://www.ryzl.com.cn/bbs/forum.php?mod=viewthread&tid=1166&extra=page%3D1
- 安装KVM
- yum install libvirt qemu-kvm
- systemctl enable --now libvirtd
- systemctl enable --now virtlogd
- echo 1 | tee /sys/module/kvm/parameters/ignore_msrs
- modprobe kvm
- 拉取镜像
- docker pull dockurr/windows
- docker save dockurr/windows:latest | gzip > /root/docker/docker-image/dockurr-windows.tar.gz
- docker load < /root/docker/docker-image/dockurr-windows.tar.gz
- 创建容器
- docker run -it -d \
- --name windows_server_2003_200 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_server_2003/windows:/storage \
- --network=docker_bridge_192_168_21 --ip=192.168.21.200 \
- -e TZ=Asia/Shanghai \
- -e VERSION=2003 \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=8G \
- --device=/dev/kvm \
- --stop-timeout 120 \
- dockurr/windows
- 然后网页访问8006端口
- 会显示正在下载2003
- 下载完毕就会开始安装
- 我没有设置--cap-add NET_ADMIN和--device=/dev/net/tun不知道是否可以
- 安装的过程中9900K单核使用率25% 感觉不是很快啊
- 显示倒计时的时候提示需要37分钟
- 我晕下载的2003是64位的
- 然后配置好了IP 结果没网,关了防火墙也没网,可能是没加上面2个参数的原因
- 也可以跳过下载iso,直接指定本地的iso
- -v /root/docker/windows_server_2003/2003.iso:/boot.iso \
- By default, a user called Docker is created during installation and its password is admin.
- 也可以用环境变量
- environment:
- USERNAME: "bill"
- PASSWORD: "gates"
- -e USERNAME="bill" \
- -e PASSWORD="gates" \
- 修改语言
- LANGUAGE: "French"
- -e LANGUAGE="Chinese" \
- 增加额外的硬盘
- environment:
- DISK2_SIZE: "32G"
- DISK3_SIZE: "64G"
- volumes:
- - ./example2:/storage2
- - ./example3:/storage3
- -e DISK2_SIZE=8G \
- -v /root/docker/windows_xp_201/DISK2:/storage2 \
- #################################################试试在我本地安装2016
- docker run -it -d \
- --name windows_server_2016_201 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_server_2016_201/windows:/storage \
- -v /root/docker/iso/2016.iso:/boot.iso \
- --network=docker_bridge_192_168_21 --ip=192.168.21.201 \
- --cap-add NET_ADMIN \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=16G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- ok,用这个在泉州的那台4H8G的9900K上装成功了 tracert都正常
- 然后单核378 多核684 相比于物理机的单核510 多核5300
- 相当于单核74%
- 磁盘真实占用了9.4G
- 还剩下14.6G
- 还能复制一个虚拟机
- 但是日志就不能记录太多了
- 奇怪,为什么关机就占用11G了
- 试试不要虚拟内存
- docker run -it -d \
- --name windows_server_2016_201 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_server_2016_201/windows:/storage \
- --network=docker_bridge_192_168_21 --ip=192.168.21.201 \
- --cap-add NET_ADMIN \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=16G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- 然后把磁盘复制一份 同时添加几个端口映射
- docker run -it -d \
- --name windows_server_2016_202 \
- -p 8007:8006 \
- -p 11390:3389 \
- -p 7000:7000 \
- -p 7100:7100 \
- -p 7200:7200 \
- -v /root/docker/windows_server_2016_201/windows:/storage \
- --network=docker_bridge_192_168_21 --ip=192.168.21.202 \
- --cap-add NET_ADMIN \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=16G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- nfs有去重
- 直接复制一份以后这2个虚拟机不能同时启动
- 第二个提示磁盘锁定了.............
- 看来必须要重装
- 原来是我弄错了,我创建新的docker的时候映射的还是之前的目录,怪不得提示文件被占用
- firewall-cmd --permanent --zone=public --add-port=8006/tcp
- firewall-cmd --zone=public --add-port=8006/tcp
- firewall-cmd --permanent --zone=public --add-port=11389/tcp
- firewall-cmd --zone=public --add-port=11389/tcp
- 成功了
- 我通过mstsc也登录进去了
- 速度还可以
- 但是IP不对,不是我设置的21.201
- 而是20.20.20.21/24 网关是20.20.20.1 DHCP是20.20.20.1 DNS是20.20.20.3
- 然后我tracert任何IP都是直接到
- 用netstat -ano查看连接
- 发现远程还是能显示正确ip的
- 然后直接关机,docker就自动关闭了
- 试试用这个img能否直接启动
- 算了,没介绍,那直接重装一个试试
- 试试不要--cap-add NET_ADMIN \ --device=/dev/net/tun \
- 装之前磁盘用了31G
- 装好以后用了41G
- docker run -it -d \
- --name windows_server_2016_202 \
- -p 8007:8006 \
- -p 11390:3389 \
- -v /root/docker/windows_server_2016_202/windows:/storage \
- -v /root/docker/windows_server_2016_201/2016.iso:/boot.iso \
- --network=docker_bridge_192_168_21 --ip=192.168.21.202 \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=16G \
- --device=/dev/kvm \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- firewall-cmd --permanent --zone=public --add-port=8007/tcp
- firewall-cmd --zone=public --add-port=8007/tcp
- firewall-cmd --permanent --zone=public --add-port=11390/tcp
- firewall-cmd --zone=public --add-port=11390/tcp
- 把两个docker关机
- 然后重启虚拟机
- 然后再同时启动这2个docker容器
- 再看结果就只用了35G了
- 重启以后都能正常连接
- 然后都提示CDPUSER的错误
- 我直接把这个服务停止了,无法禁用
- 最后看看磁盘占用
- 实测我设置的C盘16G
- 然后du -sh看到的是9.4G
- 进虚拟机查看好像也是可用5.6G
- 说明磁盘还是没问题的
- ------------------------------------------------------------------试试删掉docker,然后不指定ISO用这个目录的文件是否可以使用
- docker rm windows_server_2016_201
- docker run -it -d \
- --name windows_server_2016_201 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_server_2016_201/windows:/storage \
- --network=docker_bridge_192_168_21 --ip=192.168.21.201 \
- --cap-add NET_ADMIN \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=16G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- 我擦,果然可以,直接就进去了
- 那我再把文件夹复制一份试试
- docker run -it -d \
- --name windows_server_2016_203 \
- -p 8008:8006 \
- -p 11391:3389 \
- -v /root/docker/windows_server_2016_203/windows:/storage \
- --network=docker_bridge_192_168_21 --ip=192.168.21.203 \
- --cap-add NET_ADMIN \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=16G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- firewall-cmd --permanent --zone=public --add-port=8008/tcp
- firewall-cmd --zone=public --add-port=8008/tcp
- firewall-cmd --permanent --zone=public --add-port=11391/tcp
- firewall-cmd --zone=public --add-port=11391/tcp
- 我擦果然可以快速复制
- 这2个docker同时存在
- 然后计算机名和IP还有MAC都是重复的
- 实测好像没有互相影响到
- #################################################
- OK
- 我试试用泉州的4H8G的装2003
- docker run -it -d \
- --name windows_server_2003_200 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_server_2003_200/windows:/storage \
- -v /root/docker/iso/win2003r2.iso:/boot.iso \
- --network=docker_bridge_192_168_21 --ip=192.168.21.200 \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=8G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- --cap-add NET_ADMIN \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- #-e VERSION=2003 \ #直接用iso了
- 不行,这样指定本地iso会一直卡在解包iso
- 可能是下载的iso不能这样吧
- 等以后有机会试试我的iso
- #################################################
- docker run -it -d \
- --name windows_xp_201 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_xp_201/windows:/storage \
- -v /root/docker/iso/xpsp3.iso:/boot.iso \
- --network=docker_bridge_192_168_21 --ip=192.168.21.201 \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=8G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- --cap-add NET_ADMIN \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- 用我这个就瞬间进去了
- 说明上面的2003有问题
- 就是装的太慢了
- QC986-27D34-6M3TY-JJXP9-TBGMD
- 没想到都快18年了,还能用到这个密钥 ............貌似我这个版本没法激活,算了
- #################################################
- 试试添加新映射
- docker rm windows_xp_201
- docker run -it -d \
- --name windows_xp_201 \
- -p 8006:8006 \
- -p 11389:3389 \
- -v /root/docker/windows_xp_201/windows:/storage \
- -v /root/docker/windows_xp_201/data:/data \
- --network=docker_bridge_192_168_21 --ip=192.168.21.201 \
- -e TZ=Asia/Shanghai \
- -e RAM_SIZE=2G \
- -e CPU_CORES=2 \
- -e DISK_SIZE=8G \
- --device=/dev/kvm \
- --device=/dev/net/tun \
- --cap-add NET_ADMIN \
- -e LANGUAGE=Chinese \
- -e USERNAME=it \
- -e PASSWORD=aaaAAA111 \
- --stop-timeout 120 \
- dockurr/windows
- 设置互通文件
- -v /root/docker/windows_xp_201/data:/data \
- \\host.lan\Data
- 用cpu-z测试了一下,感觉XP的性能极低
- 一会装个2016试试
- 装了2016
- 然后测试了CPU-Z看上面
- #################################################
复制代码
|
|