Об этом проекте
Dockur Windows — это образ контейнера Docker/Podman, позволяющий запускать Windows внутри контейнера. Он автоматизирует загрузку и установку выбранной версии Windows, а затем предоставляет доступ через веб-просмотрщик на порту 8006 и через Microsoft Remote Desktop (RDP).
Ключевые возможности:
- Запуск Windows внутри контейнера Docker
- Автоматическая загрузка и установка без участия пользователя
- Поддержка современных и устаревших выпусков Windows, от Windows 95 до Windows 11, а также Windows Server 2003–2025 и некоторых community-вариантов, таких как Tiny11 и ReactOS
- Почти нативная производительность с ускорением KVM
- Настраиваемое распределение CPU, памяти и дискового пространства
- Динамическое распределение памяти с memory ballooning
- Проброс USB и общий доступ к папкам хоста
- Поддержка сетей NAT, user-mode, macvlan и macvtap
- Опциональная потоковая передача звука в браузер
- Возможность присоединения к домену Active Directory во время установки
- Возможность выполнения пользовательских команд или скрипта install.bat после установки
Требования:
- Docker или Podman на Linux-хосте с поддержкой KVM
- Docker Desktop или Podman Desktop на Windows 11 с включённой вложенной виртуализацией
- Не менее 2 ГБ доступной оперативной памяти
- Не менее 32 ГБ свободного дискового пространства
Docker Desktop на Linux, macOS и Windows 10 не поддерживается, поскольку он не предоставляет контейнерам доступ к KVM.
Базовое использование Docker Compose:
```yaml
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
```
После запуска контейнера откройте http://127.0.0.1:8006/ в браузере и дождитесь завершения автоматической установки. Учётные данные RDP по умолчанию — имя пользователя `Docker` и пароль `admin`, которые можно изменить с помощью переменных окружения `USERNAME` и `PASSWORD`.
Распространённые переменные окружения включают:
- `VERSION` — выбирает версию Windows, например `11`, `10`, `2022` или URL пользовательского ISO
- `LANGUAGE` — выбирает язык установки
- `RAM_SIZE` и `CPU_CORES` — настраивают выделяемые ресурсы
- `DISK_SIZE` — изменяет размер диска по умолчанию 64 ГБ
- `DISK2_SIZE` / `DISK3_SIZE` — добавляет дополнительные диски
- `AUDIO` — включает потоковую передачу звука в браузер
- `DOMAIN` и `DOMAIN_OU` — автоматическое присоединение к домену Active Directory
- `DHCP` — позволяет Windows запрашивать IP напрямую у роутера
- `ARGUMENTS` — передаёт дополнительные аргументы QEMU, например для проброса USB-устройств
Хранилище можно изменить с помощью bind mount в `/storage`. Папка, привязанная к `/shared`, появляется на рабочем столе Windows как `Shared` и как диск `Z:`. ISO можно смонтировать в `/custom.iso` для установки неподдерживаемого образа или указать URL через `VERSION`.
Проект отмечает, что сеть macvlan не позволяет получить доступ к IP контейнера с Docker-хоста, а USB-устройства массового хранения следует держать отключёнными при первом запуске, чтобы избежать случайного форматирования.
Проект содержит только открытый исходный код и не распространяет саму Windows. Ключи продуктов, найденные в коде, являются универсальными установочными ключами, опубликованными Microsoft для пробных целей, и не являются действительными лицензиями активации. Пользователи несут ответственность за наличие действующей лицензии Windows.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.