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