A implementation of windows OS (x64) based on vagrant VM, libvirt and docker compose. The VM is created inside a container using vagrant and libvirt. This strategy makes the deployment of windows OS trivial and plug and play.
- docker >= 24
- docker-compose >= 1.18
- Create/Update the environmental file
.env
# Vagrant image settings
MEMORY=8000 # 8GB
CPU=4
DISK_SIZE=100
- Create
docker-compose.yml
version: "3.9"
services:
win10:
image: ghcr.io/vaggeliskls/windows-in-docker-container:latest
env_file: .env
stdin_open: true
tty: true
privileged: true
cap_add:
- NET_ADMIN
- SYS_ADMIN
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup
devices:
- /dev/kvm
- /dev/net/tun
ports:
- 3389:3389
- Run:
docker-compose up -d
For debugging purposes or testing you can always connect to the VM with remote desktop softwares.
Some software that used when developed was
- Linux: rdesktop
rdesktop <ip>:3389
or remina - MacOS: Windows remote desktop
- Windows: buildin
Remote Windows Connection
The default users based on vagrant image are
- Administrator
- Username: Administrator
- Password: vagrant
- User
- Username: vagrant
- Password: vagrant