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 @ 2024-06-15 19:57  Linux大魔王  阅读(98)  评论(0编辑  收藏  举报