Dockerized QEMU for testing stuff on Windows
Go to file
Marvin Martinson beae177793 Add time fix for qemu Windows vm 2021-06-15 08:22:09 +00:00
.gitignore Initial commit 2021-05-30 08:01:35 +00:00
Dockerfile Fix macvtap issues and move to network_mode: host 2021-06-11 07:44:26 +00:00
README.md Fix macvtap issues and move to network_mode: host 2021-06-11 07:44:26 +00:00
docker-compose.yml Remove unused tmpfs 2021-05-31 18:20:49 +00:00
entrypoint.sh Add time fix for qemu Windows vm 2021-06-15 08:22:09 +00:00

README.md

Dockerized QEMU

Dockerized QEMU image for reproducibly testing stuff on Windows. Prepare OS image as described below. Disk image is used as read-only using the QEMU disk snapshot option, all local changes are lost after Docker container restart. Specify MAC address via environment variable MAC. For more example see docker-compose.yml You probably need the machines to come up with fixed IP-s. Use static leases on your DHCP server to assign the IP addresses to the VM-s.

Windows template image preparation

Prepare the image using libvirt or similar where you can specify virtio SCSI controller for storage. For Windows 10 install also mount virtio SCSI and networking drivers ISO. In Windows 10 partitioning wizard provide drivers from that ISO. Install OpenSSH server. Make sure OpenSSH starts during boot. Insert Jenkins or your favourite CI/CD software SSH public keys into C:\ProgramData\ssh\administrators_authorized_keys and adjust ACL-s as described here Use the resulting virtual machine disk image with this Docker image.

Debugging

If you can't ping the VM from host, make sure bridge mode is used on the macvlanX interface:

ip -d link show type macvtap