
windows v6.04
KVM त्वरण, स्वचालित इंस्टॉलेशन और अनुकूलन योग्य संसाधनों के साथ Docker कंटेनर के अंदर Windows चलाएँ। कई Windows संस्करणों, USB passthrough और macvlan नेटवर्किंग का समर्थन करता है।
विंडोज़
[![Build]][build_url]
[![Version]][tag_url]
[![Size]][tag_url]
[![Package]][pkg_url]
[![Pulls]][hub_url]
[![Build]][build_url] [![Version]][tag_url] [![Size]][tag_url] [![Package]][pkg_url] [![Pulls]][hub_url]
विंडोज़ एक डॉकर कंटेनर के अंदर।
विशेषताएँ ✨
- डॉकर कंटेनर के अंदर विंडोज़ चलाता है
- स्वचालित डाउनलोड और बिना हस्तक्षेप के इंस्टॉलेशन
- आधुनिक और पुराने विंडोज़ संस्करणों का समर्थन करता है
- KVM त्वरण के साथ लगभग नेटिव प्रदर्शन
- अनुकूलन योग्य CPU, मेमोरी और स्टोरेज आवंटन
- मेमोरी बैलूनिंग के साथ गतिशील मेमोरी आवंटन
- USB पासथ्रू और होस्ट फोल्डर साझाकरण
- NAT, यूज़र-मोड, macvlan और macvtap नेटवर्किंग का समर्थन करता है
वीडियो 📺
उपयोग 🐳
डॉकर कंपोज़:
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
डॉकर CLI:
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
GitHub Codespaces:
ग्राफिकल इंस्टॉलर:
आवश्यकताएँ ⚙️
- KVM समर्थन वाले Linux होस्ट पर Docker या Podman।
- नेस्टेड वर्चुअलाइज़ेशन सक्षम के साथ Windows 11 पर Docker Desktop या Podman (Desktop)।
- कम से कम 4 GB उपलब्ध RAM।
- कम से कम 64 GB खाली डिस्क स्थान।
[!NOTE] Linux, macOS और Windows 10 पर Docker Desktop वर्तमान में कंटेनरों को KVM एक्सेस प्रदान नहीं करता है, इसलिए इसका समर्थन नहीं किया जाता है।
अक्सर पूछे जाने वाले प्रश्न 💬
मैं इसका उपयोग कैसे करूँ?
बहुत सरल! ये चरण हैं:
-
कंटेनर शुरू करें और अपने वेब ब्राउज़र का उपयोग करके पोर्ट 8006 से कनेक्ट करें।
-
आराम से बैठें और जादू होते देखें, पूरी इंस्टॉलेशन पूरी तरह से स्वचालित रूप से की जाएगी।
-
जैसे ही आप डेस्कटॉप देखेंगे, आपका विंडोज़ इंस्टॉलेशन उपयोग के लिए तैयार है।
अपनी नई मशीन का आनंद लें, और इस रेपो को स्टार करना न भूलें!
मैं विंडोज़ संस्करण कैसे चुनूँ?
डिफ़ॉल्ट रूप से, Windows 11 Pro इंस्टॉल किया जाएगा। लेकिन आप डाउनलोड किए जाने वाले वैकल्पिक विंडोज़ संस्करण को निर्दिष्ट करने के लिए अपनी कंपोज़ फ़ाइल में VERSION पर्यावरण चर जोड़ सकते हैं:
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 संस्करणों को इंस्टॉल करने के लिए dockur/windows-arm का उपयोग करें।
मैं स्टोरेज स्थान कैसे बदलूँ?
स्टोरेज स्थान बदलने के लिए, अपनी कंपोज़ फ़ाइल में निम्नलिखित बाइंड माउंट शामिल करें:
volumes:
- ./windows:/storage
उदाहरण पथ ./windows को अपने इच्छित स्टोरेज फ़ोल्डर या नामित वॉल्यूम से बदलें।
मैं डिस्क का आकार कैसे बदलूँ?
64 GB के डिफ़ॉल्ट आकार को बढ़ाने के लिए, अपनी कंपोज़ फ़ाइल में DISK_SIZE सेटिंग जोड़ें और इसे अपनी पसंदीदा क्षमता पर सेट करें:
environment:
DISK_SIZE: "256G"
[!TIP] इसका उपयोग किसी मौजूदा डिस्क को बिना किसी डेटा हानि के बड़ी क्षमता में आकार बदलने के लिए भी किया जा सकता है। हालाँकि, बाद में आपको डिस्क विभाजन को मैन्युअल रूप से बढ़ाना होगा, क्योंकि जोड़ा गया डिस्क स्थान असंबद्ध के रूप में दिखाई देगा।
मैं होस्ट के साथ फ़ाइलें कैसे साझा करूँ?
इंस्टॉलेशन के बाद आपके डेस्कटॉप पर Shared नामक एक फ़ोल्डर होगा, जिसका उपयोग होस्ट मशीन के साथ फ़ाइलों के आदान-प्रदान के लिए किया जा सकता है।
इस उद्देश्य के लिए होस्ट पर एक फ़ोल्डर चुनने हेतु, अपनी कंपोज़ फ़ाइल में निम्नलिखित बाइंड माउंट शामिल करें:
volumes:
- ./example:/shared
उदाहरण पथ ./example को अपने इच्छित साझा फ़ोल्डर से बदलें, जो तब Shared के रूप में दिखाई देगा।
मैं CPU या RAM की मात्रा कैसे बदलूँ?
डिफ़ॉल्ट रूप से, विंडोज़ को 2 CPU कोर और 4 GB RAM उपयोग करने की अनुमति होगी।
यदि आप इसे समायोजित करना चाहते हैं, तो आप निम्नलिखित पर्यावरण चरों का उपयोग करके वांछित मात्रा निर्दिष्ट कर सकते हैं:
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
मैं उपयोगकर्ता नाम और पासवर्ड कैसे कॉन्फ़िगर करूँ?
डिफ़ॉल्ट रूप से, Docker नामक एक उपयोगकर्ता बनाया जाता है और उसका पासवर्ड admin होता है।
यदि आप इंस्टॉलेशन के दौरान अलग क्रेडेंशियल सेट करना चाहते हैं, तो आप उन्हें अपनी कंपोज़ फ़ाइल में कॉन्फ़िगर कर सकते हैं:
environment:
USERNAME: "bill"
PASSWORD: "gates"
मैं विंडोज़ भाषा कैसे चुनूँ?
डिफ़ॉल्ट रूप से, विंडोज़ का अंग्रेज़ी संस्करण डाउनलोड किया जाएगा।
लेकिन आप डाउनलोड की जाने वाली वैकल्पिक भाषा निर्दिष्ट करने के लिए अपनी कंपोज़ फ़ाइल में LANGUAGE पर्यावरण चर जोड़ सकते हैं:
environment:
LANGUAGE: "French"
आप इनमें से चुन सकते हैं: 🇦🇪 अरबी, 🇧🇬 बल्गेरियाई, 🇨🇳 चीनी, 🇭🇷 क्रोएशियाई, 🇨🇿 चेक, 🇩🇰 डेनिश, 🇳🇱 डच, 🇬🇧 अंग्रेज़ी, 🇪🇪 एस्टोनियाई, 🇫🇮 फ़िनिश, 🇫🇷 फ़्रेंच, 🇩🇪 जर्मन, 🇬🇷 ग्रीक, 🇮🇱 हिब्रू, 🇭🇺 हंगेरियाई, 🇮🇹 इतालवी, 🇯🇵 जापानी, 🇰🇷 कोरियाई, 🇱🇻 लातवियाई, 🇱🇹 लिथुआनियाई, 🇳🇴 नॉर्वेजियाई, 🇵🇱 पोलिश, 🇵🇹 पुर्तगाली, 🇷🇴 रोमानियाई, 🇷🇺 रूसी, 🇷🇸 सर्बियाई, 🇸🇰 स्लोवाक, 🇸🇮 स्लोवेनियाई, 🇪🇸 स्पेनिश, 🇸🇪 स्वीडिश, 🇹🇭 थाई, 🇹🇷 तुर्की और 🇺🇦 यूक्रेनी।
मैं कीबोर्ड लेआउट कैसे चुनूँ?
यदि आप अपनी चुनी गई भाषा के लिए डिफ़ॉल्ट नहीं होने वाला कीबोर्ड लेआउट या लोकेल सेट करना चाहते हैं, तो आप KEYBOARD और REGION चर इस प्रकार जोड़ सकते हैं:
environment:
REGION: "en-US"
KEYBOARD: "en-US"
मैं एक कस्टम इमेज कैसे इंस्टॉल करूँ?
किसी असमर्थित ISO इमेज को डाउनलोड करने के लिए, उसका URL VERSION पर्यावरण चर में निर्दिष्ट करें:
environment:
VERSION: "https://example.com/win.iso"
वैकल्पिक रूप से, आप डाउनलोड छोड़ सकते हैं और इसके बजाय एक स्थानीय फ़ाइल का उपयोग कर सकते हैं, इसे अपनी कंपोज़ फ़ाइल में इस प्रकार बाइंड करके:
volumes:
- ./example.iso:/custom.iso
उदाहरण पथ ./example.iso को अपनी इच्छित ISO फ़ाइल के फ़ाइल नाम से बदलें। इस स्थिति में VERSION का मान अनदेखा कर दिया जाएगा।


