docker中安装win系统

环境介绍

Ubuntu 24.04 LTS
172.16.186.148/24 NAT
4U/20G/120G

安装docker

# 删除旧版本
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# 配置 apt 存储库
1、安装配置所需的软件包
sudo apt install ca-certificates curl
2、获取 Docker 存储库的 GPG 密钥
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
3、将 Docker 存储库添加到 apt 源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4、安装最新版本docker
sleep 5
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl restart docker && sudo systemctl enable docker
docker --version

在docker中安装win

rambo@test1:~$ mkdir windows-app/ && cd windows-app/
rambo@test1:~/windows-app$ cat Dockerfile
# 使用 Ubuntu 作为基础镜像
FROM ubuntu:20.04
# 安装必要的软件包
RUN set -x && \
apt-get update && \
apt-get install -y qemu-system qemu-kvm libvirt-clients libvirt-daemon-system virtinst cpu-checker xvfb bridge-utils x11vnc xdotool
# 复制 Windows ISO 到容器中
COPY win10_21h2.iso /home/win10_21h2.iso
# 创建虚拟硬盘
RUN qemu-img create -f qcow2 /home/win10.img 30G
# 启动 QEMU 并运行 Windows 安装程序
CMD ["sh", "-c", "\
Xvfb :1 -screen 0 1024x768x16 & \
sleep 6 && \
x11vnc -display :1 -nopw -forever & \
DISPLAY=:1 xdotool key Return & \
qemu-system-x86_64 -m 10G -cdrom /home/win10_21h2.iso -boot d -hda /home/win10.img -net nic -net user -vnc :1"]
# 构建镜像
rambo@test1:~/windows-app$ docker build -t windows-vm .
# 运行容器
rambo@test1:~/windows-app$ docker run -itd --rm --privileged -p 5901:5901 windows-vm



其他

# 只启动容器但不运行任何命令
docker run -it --rm --privileged --entrypoint /bin/bash windows-vm
# 进入容器
docker exec -it <容器名> /bin/bash
在容器中手动运行各个组件:
# 启动 Xvfb
Xvfb :1 -screen 0 1024x768x16 &
sleep 5
# 启动 x11vnc
x11vnc -display :1 -nopw -forever &
sleep 5
# 检查 Xvfb 是否运行正常
DISPLAY=:1 xdotool key Return
# 启动 QEMU
qemu-system-x86_64 -m 10G -cdrom /home/win10_21h2.iso -boot d -hda /home/win10.img -net nic -net user -vnc :1
# 查看vnc端口(默认是5901)
apt install -y net-tools
netstat -anpt

防走丢

QQ群1:905201396
QQ群2:756805267
QQ群3:912567610
posted @   Linux大魔王  阅读(152)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示