
Запускайте Windows внутри Docker-контейнера с KVM-ускорением, автоматической установкой и настраиваемыми ресурсами. Поддерживает несколько версий Windows, проброс USB и сеть macvlan.
[![Build]][build_url] [![Version]][tag_url] [![Size]][tag_url] [![Package]][pkg_url] [![Pulls]][hub_url]
Windows в Docker-контейнере.
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
volumes:
- ./windows:/storage
restart: always
stop_grace_period: 2m
docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
[!NOTE] Docker Desktop на Linux, macOS и Windows 10 в настоящее время не предоставляет контейнерам доступ к KVM и поэтому не поддерживается.
Очень просто! Вот шаги:
Запустите контейнер и подключитесь к порту 8006 через веб-браузер.
Расслабьтесь и наблюдайте за магией: вся установка будет выполнена полностью автоматически.
Когда вы увидите рабочий стол, ваша установка Windows готова к использованию.
Наслаждайтесь своей новой машиной и не забудьте поставить звезду этому репозиторию!
По умолчанию будет установлена Windows 11 Pro. Но вы можете добавить переменную окружения VERSION в ваш compose-файл, чтобы указать альтернативную версию Windows для загрузки:
environment:
VERSION: "10"
Выберите одно из значений ниже:
| Значение | Версия | Размер |
|---|---|---|
11 | Windows 11 Pro | 7.9 GB |
11l | Windows 11 LTSC | 4.7 GB |
11e | Windows 11 Enterprise | 6.6 GB |
10 | Windows 10 Pro | 5.7 GB |
10l | Windows 10 LTSC | 4.6 GB |
10e | Windows 10 Enterprise | 5.2 GB |
8e | Windows 8.1 Enterprise | 3.7 GB |
7u | Windows 7 Ultimate | 3.1 GB |
vu | Windows Vista Ultimate | 3.0 GB |
xp | Windows XP Professional | 0.6 GB |
2k | Windows 2000 Professional | 0.4 GB |
2025 | Windows Server 2025 | 7.6 GB |
2022 | Windows Server 2022 | 6.0 GB |
2019 | Windows Server 2019 | 5.3 GB |
2016 | Windows Server 2016 | 6.5 GB |
2012 | Windows Server 2012 | 4.3 GB |
2008 | Windows Server 2008 | 3.0 GB |
2003 | Windows Server 2003 | 0.6 GB |
[!TIP] Для установки ARM64-версий Windows используйте dockur/windows-arm.
Чтобы изменить расположение хранилища, добавьте следующий bind-mount в ваш compose-файл:
volumes:
- ./windows:/storage
Замените пример пути ./windows на нужную папку хранилища или именованный том.
Чтобы увеличить размер по умолчанию (64 ГБ), добавьте параметр DISK_SIZE в ваш compose-файл и укажите желаемый объём:
environment:
DISK_SIZE: "256G"
[!TIP] Его также можно использовать для увеличения существующего диска без потери данных. Однако после этого вам потребуется вручную расширить раздел диска, так как добавленное пространство будет отображаться как нераспределённое.
После установки на рабочем столе появится папка под названием Shared, которую можно использовать для обмена файлами с хост-машиной.
Чтобы выбрать для этой цели папку на хосте, добавьте следующий bind-mount в ваш compose-файл:
volumes:
- ./example:/shared
Замените пример пути ./example на нужную общую папку, которая затем будет отображаться как Shared.
По умолчанию Windows разрешено использовать 2 ядра CPU и 4 ГБ ОЗУ.
Если вы хотите изменить это, укажите нужный объём с помощью следующих переменных окружения:
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
По умолчанию создаётся пользователь Docker с паролем admin.
Если вы хотите задать другие учётные данные при установке, вы можете настроить их в compose-файле:
environment:
USERNAME: "bill"
PASSWORD: "gates"
По умолчанию будет загружена английская версия Windows.
Но вы можете добавить переменную окружения LANGUAGE в свой compose-файл, чтобы указать альтернативный язык для загрузки:
environment:
LANGUAGE: "French"
Вы можете выбрать между: 🇦🇪 арабский, 🇧🇬 болгарский, 🇨🇳 китайский, 🇭🇷 хорватский, 🇨🇿 чешский, 🇩🇰 датский, 🇳🇱 нидерландский, 🇬🇧 английский, 🇪🇪 эстонский, 🇫🇮 финский, 🇫🇷 французский, 🇩🇪 немецкий, 🇬🇷 греческий, 🇮🇱 иврит, 🇭🇺 венгерский, 🇮🇹 итальянский, 🇯🇵 японский, 🇰🇷 корейский, 🇱🇻 латышский, 🇱🇹 литовский, 🇳🇴 норвежский, 🇵🇱 польский, 🇵🇹 португальский, 🇷🇴 румынский, 🇷🇺 русский, 🇷🇸 сербский, 🇸🇰 словацкий, 🇸🇮 словенский, 🇪🇸 испанский, 🇸🇪 шведский, 🇹🇭 тайский, 🇹🇷 турецкий и 🇺🇦 украинский.
Если вы хотите настроить раскладку клавиатуры или языковой стандарт (locale), отличные от используемых по умолчанию для выбранного языка, вы можете добавить переменные KEYBOARD и REGION следующим образом:
environment:
REGION: "en-US"
KEYBOARD: "en-US"
Чтобы загрузить неподдерживаемый ISO-образ, укажите его URL в переменной окружения VERSION:
environment:
VERSION: "https://example.com/win.iso"
Кроме того, вы можете пропустить загрузку и использовать локальный файл, примонтировав его в compose-файле следующим образом:
volumes:
- ./example.iso:/custom.iso
Замените пример пути ./example.iso на имя нужного ISO-файла. В этом случае значение VERSION будет проигнорировано.