Windows OS inside a Linux Container (more or less)

Table of Contents
What is “Windows inside a Docker container”? #
“Windows inside a Docker container” is an open-source project that leverages Docker to create a seamless bridge between Windows operating systems and containerization.
It provides an ISO downloader, allowing you to select and download various Windows versions directly from within the container (Windows 10/11, Windows Server 2019/2022, even old versions like Windows XP/Vista). It utilizes KVM (Kernel-based Virtual Machine) acceleration, enhancing performance and compatibility. During installation, Dockurr offers a web-based viewer for easy interaction. However, for a better experience, you can connect using Microsoft Remote Desktop clients.
Supported Windows OS #
Most Windows versions are supported.
Value | Description | Platform x64 | ARM64 |
---|---|---|---|
win11 | Windows 11 Pro | yes | yes |
win10 | Windows 10 Pro | yes | yes |
ltsc10 | Windows 10 LTSC | yes | |
win81 | Windows 8.1 Pro | yes | |
win7 | Windows 7 SP1 | yes | |
vista | Windows Vista SP2 | yes | |
winxp | Windows XP SP3 | yes | |
2022 | Windows Server 2022 | yes | |
2019 | Windows Server 2019 | yes | |
2016 | Windows Server 2016 | yes | |
2012 | Windows Server 2012 R2 | yes | |
2008 | Windows Server 2008 R2 | yes | |
core11 | Tiny 11 Core | yes | |
tiny11 | Tiny 11 | yes | |
tiny10 | Tiny 10 | yes |
How to use it? #
You already have docker and qemu/libvirt installed.
Create a directory (e.g. “/data/applications/windows”) where you want to store the downloaded ISO image (otherwise the ISO will be downloaded on each deployment).
Deployment #
You can use docker-compose or portainer to get started. Here is an docker-compose example file for installing Windows Server 2022.
version: "3"
services:
windows:
image: dockurr/windows
container_name: windows-win2022
environment:
VERSION: 2022
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
volumes:
- /data/applications/windows/2022:/storage
restart: on-failure
Connect using your Web-Browser #
Just use your browser to connect to your freshly started Windows Instance: http://<hostname>:8006/
Connect using RDP #
Just use your preferred RDP client to connect to your Windows Instance, login user is “docker”, leave the password empty.
Install process #
Download, build, setup, boot - enjoy :-)
Why do I need this? #
It makes fun😀 And it’s perfect for tests and short-lived instances without the overhead of fully managed virtual machines More information