Об этом проекте

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.