vaggeliskls / windows-in-docker-container

Deploy and manage a Windows OS (x64) seamlessly using Vagrant VM, libvirt, and docker-compose. This innovative approach integrates smoothly into existing workflows, providing an efficient way of containerizing Windows OS for better resource allocation and convenience.
MIT License
70 stars 12 forks source link
docker docker-compose vagrant windows windows-in-docker-linux

πŸ’» Windows in Docker Container

Discover an innovative and efficient method of deploying Windows OS (x64) on your linux system using the power of Vagrant VM, libvirt, and docker-compose. Together, these technologies help you containerize Windows OS, enabling you to manage a Windows instance just as you would any Docker container. This seamless integration into existing workflows significantly enhances convenience and optimizes resource allocation.

⭐ Don't forget to star the project if it helped you!

πŸ“‹ Prerequisites

The docker compose is embedded as plugin

πŸš€ Deployment Guide

  1. Create/Update the environmental file .env
    # Vagrant image settings
    MEMORY=8000 # 8GB
    CPU=4
    DISK_SIZE=100
  2. Create docker-compose.yml
    
    version: "3.9"

services: win10: image: docker.io/vaggeliskls/windows-in-docker-container:latest env_file: .env stdin_open: true tty: true privileged: true volumes:

windows screenshot

🌐 Access via Remote Desktop

For debugging purposes or even testing, you can always connect to the VM using remote desktop software.

Software used during development:

  1. Linux: rdesktop rdesktop <ip>:3389 or remina
  2. MacOS: Windows remote desktop
  3. Windows: buildin Remote Windows Connection

πŸ”‘ User Login

Default users based on the Vagrant image are:

  1. Administrator
    • Username: Administrator
    • Password: vagrant
  2. User
    • Username: vagrant
    • Password: vagrant

πŸ“š Further Reading and Resources