العودة إلى التحديثات
New releaseJul 26, 2026

windows v6.03

قم بتشغيل Windows داخل حاوية Docker مع تسريع KVM، والتثبيت التلقائي، والموارد القابلة للتخصيص. يدعم إصدارات متعددة من Windows، ونقل USB، وشبكات macvlan.

مشاركة

ويندوز

بناء إصدار حجم حزمة سحوبات

ويندوز داخل حاوية دوكر.

الميزات ✨

  • تشغيل ويندوز داخل حاوية دوكر
  • تحميل تلقائي وتثبيت بدون تدخل
  • يدعم إصدارات ويندوز الحديثة والقديمة
  • أداء قريب من الأصلي مع تسريع KVM
  • تخصيص وحدة المعالجة المركزية والذاكرة والتخزين
  • تخصيص ديناميكي للذاكرة باستخدام تقنية البالون
  • تمرير 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
واجهة سطر الأوامر لدوكر:
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
جيت هاب Codespaces:

Open in GitHub Codespaces

المثبت الرسومي:

Download WinBoat

المتطلبات ⚙️

  • دوكر أو بودمان على مضيف لينكس مع دعم KVM.
  • دوكر دسكتوب أو بودمان (دسكتوب) على ويندوز 11 مع تمكين المحاكاة الافتراضية المتداخلة.
  • ذاكرة وصول عشوائي متوفرة بحجم 4 جيجابايت على الأقل.
  • مساحة قرص خالية بحجم 64 جيجابايت على الأقل.

[!NOTE] دوكر دسكتوب على لينكس وmacOS وويندوز 10 لا يوفر حاليًا وصول KVM للحاويات وبالتالي فهو غير مدعوم.

الأسئلة الشائعة 💬

كيف أستخدمه؟

بسيط جدًا! هذه هي الخطوات:

  • ابدأ الحاوية واتصل بالمنفذ 8006 باستخدام متصفح الويب الخاص بك.

  • استرخِ بينما يحدث السحر، سيتم التثبيت بأكمله تلقائيًا بالكامل.

  • بمجرد رؤية سطح المكتب، يكون تثبيت ويندوز جاهزًا للاستخدام.

استمتع بجهازك الجديد، ولا تنسَ وضع نجمة لهذا المستودع!

كيف أختار إصدار ويندوز؟

بشكل افتراضي، سيتم تثبيت ويندوز 11 برو. ولكن يمكنك إضافة متغير البيئة VERSION إلى ملف compose الخاص بك لتحديد إصدار ويندوز بديل ليتم تنزيله:

environment:
  VERSION: "10"

اختر من القيم أدناه:

القيمةالإصدارالحجم
11ويندوز 11 برو7.9 GB
11lويندوز 11 LTSC4.7 GB
11eويندوز 11 إنتربرايز6.6 GB
10ويندوز 10 برو5.7 GB
10lويندوز 10 LTSC4.6 GB
10eويندوز 10 إنتربرايز5.2 GB
8eويندوز 8.1 إنتربرايز3.7 GB
7uويندوز 7 ألتيميت3.1 GB
vuويندوز فيستا ألتيميت3.0 GB
xpويندوز إكس بي بروفيشنال0.6 GB
2kويندوز 2000 بروفيشنال0.4 GB
2025ويندوز سيرفر 20257.6 GB
2022ويندوز سيرفر 20226.0 GB
2019ويندوز سيرفر 20195.3 GB
2016ويندوز سيرفر 20166.5 GB
2012ويندوز سيرفر 20124.3 GB
2008ويندوز سيرفر 20083.0 GB
2003ويندوز سيرفر 20030.6 GB

[!TIP] لتثبيت إصدارات ARM64 من ويندوز استخدم dockur/windows-arm.

كيف أغير موقع التخزين؟

لتغيير موقع التخزين، قم بتضمين الربط التالي في ملف compose الخاص بك:

volumes:
  - ./windows:/storage

استبدل المسار المثال ./windows بمجلد التخزين المطلوب أو وحدة التخزين المسماة.

كيف أغير حجم القرص؟

لتوسيع الحجم الافتراضي البالغ 64 جيجابايت، أضف إعداد DISK_SIZE إلى ملف compose الخاص بك واضبطه على السعة المفضلة لديك:

environment:
  DISK_SIZE: "256G"

[!TIP] يمكن أيضًا استخدام هذا لتغيير حجم قرص موجود إلى سعة أكبر دون فقدان أي بيانات. ومع ذلك، ستحتاج إلى تمديد قسم القرص يدويًا بعد ذلك، حيث ستظهر مساحة القرص المضافة كمساحة غير مخصصة.

كيف أشارك الملفات مع المضيف؟

بعد التثبيت، سيكون هناك مجلد يسمى Shared على سطح المكتب الخاص بك، والذي يمكن استخدامه لتبادل الملفات مع جهاز المضيف.

لتحديد مجلد على المضيف لهذا الغرض، قم بتضمين الربط التالي في ملف compose الخاص بك:

volumes:
  -  ./example:/shared

استبدل المسار المثال ./example بمجلد المشاركة المطلوب، والذي سيصبح بعد ذلك مرئيًا كـ Shared.

كيف أغير كمية وحدة المعالجة المركزية أو الذاكرة؟

بشكل افتراضي، سيسمح لويندوز باستخدام 2 نواة وحدة معالجة مركزية و 4 جيجابايت من ذاكرة الوصول العشوائي.

إذا كنت ترغب في تعديل ذلك، يمكنك تحديد الكمية المطلوبة باستخدام متغيرات البيئة التالية:

environment:
  RAM_SIZE: "8G"
  CPU_CORES: "4"

كيف أقوم بتكوين اسم المستخدم وكلمة المرور؟

بشكل افتراضي، يتم إنشاء مستخدم باسم Docker وكلمة المرور الخاصة به هي admin.

إذا كنت ترغب في إعداد بيانات اعتماد مختلفة أثناء التثبيت، يمكنك تكوينها في ملف compose الخاص بك:

environment:
  USERNAME: "bill"
  PASSWORD: "gates"

كيف أختار لغة ويندوز؟

بشكل افتراضي، سيتم تنزيل النسخة الإنجليزية من ويندوز.

ولكن يمكنك إضافة متغير البيئة LANGUAGE إلى ملف compose الخاص بك لتحديد لغة بديلة ليتم تنزيلها:

environment:
  LANGUAGE: "French"

يمكنك الاختيار بين: 🇦🇪 العربية, 🇧🇬 البلغارية, 🇨🇳 الصينية, 🇭🇷 الكرواتية, 🇨🇿 التشيكية, 🇩🇪 الألمانية, 🇩🇰 الدنماركية, 🇬🇧 الإنجليزية, 🇪🇪 الإستونية, 🇫🇮 الفنلندية, 🇫🇷 الفرنسية, 🇮🇱 العبرية, 🇭🇺 المجرية, 🇮🇹 الإيطالية, 🇯🇵 اليابانية, 🇰🇷 الكورية, 🇱🇻 اللاتفية, 🇱🇹 الليتوانية, 🇳🇱 الهولندية, 🇳🇴 النرويجية, 🇵🇱 البولندية, 🇵🇹 البرتغالية, 🇷🇴 الرومانية, 🇷🇺 الروسية, 🇷🇸 الصربية, 🇸🇰 السلوفاكية, 🇸🇮 السلوفينية, 🇪🇸 الإسبانية, 🇸🇪 السويدية, 🇹🇭 التايلاندية, 🇹🇷 التركية و 🇺🇦 الأوكرانية.

كيف أختار تخطيط لوحة المفاتيح؟

إذا كنت ترغب في إعداد تخطيط لوحة مفاتيح أو إعدادات محلية ليست الافتراضية للغة المحددة، يمكنك إضافة متغيرات 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 في هذه الحالة.

كيف أشغل سكريبت بعد التثبيت؟

لتشغيل السكريبت الخاص بك بعد التثبيت، يمكنك إنشاء ملف باسم install.bat ووضعه في مجلد مع أي ملفات إضافية يحتاجها (على سبيل المثال، برامج للتثبيت).

ثم اربط هذا المجلد في ملف compose الخاص بك مثل هذا:

volumes:
  -  ./example:/oem

سيتم نسخ المجلد المثال ./example إلى C:\OEM وسيتم تنفيذ ملف install.bat داخل ذلك المجلد خلال الخطوة الأخيرة من التثبيت التلقائي.

كيف أقوم بتثبيت يدوي؟

يُوصى بالالتزام بالتثبيت التلقائي، حيث يقوم بضبط إعدادات متنوعة لمنع المشكلات الشائعة عند تشغيل ويندوز داخل بيئة افتراضية.

ومع ذلك، إذا أصررت على إجراء التثبيت يدويًا (على مسؤوليتك الخاصة)، أضف متغير البيئة التالي إلى ملف compose الخاص بك:

environment:
  MANUAL: "Y"

كيف أتصل باستخدام RDP؟

العارض عبر الويب مخصص بشكل أساسي للاستخدام أثناء التثبيت، نظرًا لأنه أقل استجابة من RDP ولا يدعم ميزات مثل مشاركة الحافظة.

لذا لتجربة أفضل، يمكنك الاتصال باستخدام أي عميل سطح مكتب بعيد من مايكروسوفت بعنوان IP الخاص بالحاوية، باستخدام اسم المستخدم Docker وكلمة المرور admin.

يتوفر عميل RDP لنظام أندرويد من متجر Play وواحد لنظام iOS في متجر آبل. بالنسبة للينكس يمكنك استخدام FreeRDP وعلى ويندوز فقط اكتب mstsc في مربع البحث.

كيف أقوم بتمكين الصوت؟

الصوت معطل افتراضيًا إلا إذا كنت تستخدم RDP. لدفقه إلى المتصفح، أضف متغير البيئة التالي:
environment:
  AUDIO: "Y"

ثم قم بتمكين الصوت ضمن الإعدادات → خيارات متقدمة في العارض عبر الويب. يكون الدفق نشطًا فقط أثناء تمكين هذا الخيار، لذلك لا يستخدم نطاقًا تردديًا إضافيًا بخلاف ذلك.

كيف أعين عنوان IP فردي للحاوية؟

افتراضيًا، تستخدم الحاوية شبكة الجسر، والتي تشارك عنوان IP مع المضيف.

إذا كنت ترغب في تعيين عنوان IP فردي للحاوية، يمكنك إنشاء شبكة macvlan كما يلي:

docker network create -d macvlan \
    --subnet=192.168.0.0/24 \
    --gateway=192.168.0.1 \
    --ip-range=192.168.0.100/28 \
    -o parent=eth0 vlan

تأكد من تعديل هذه القيم لتتناسب مع شبكتك المحلية.

بمجرد إنشاء الشبكة، قم بتعديل ملف compose الخاص بك ليبدو كما يلي:

services:
  windows:
    container_name: windows
    ..<snip>..
    networks:
      vlan:
        ipv4_address: 192.168.0.100

networks:
  vlan:
    external: true

من الفوائد الإضافية لهذا النهج أنك لن تضطر إلى إجراء أي تعيين منفذ بعد الآن، حيث سيتم كشف جميع المنافذ افتراضيًا.

[!IMPORTANT]
لن يكون عنوان IP هذا متاحًا من مضيف دوكر بسبب تصميم macvlan، الذي لا يسمح بالاتصال بينهما. إذا كان هذا مصدر قلق، فأنت بحاجة إلى إنشاء macvlan ثاني كحل بديل.

كيف يمكن لويندوز الحصول على عنوان IP من جهاز التوجيه الخاص بي؟

بعد تكوين الحاوية لـ macvlan، من الممكن أن يصبح ويندوز جزءًا من شبكة منزلك عن طريق طلب عنوان IP من جهاز التوجيه الخاص بك، تمامًا مثل جهاز كمبيوتر حقيقي.

لتمكين هذا الوضع، حيث سيكون للحاوية وويندوز عناوين IP منفصلة، أضف الأسطر التالية إلى ملف compose الخاص بك:

environment:
  DHCP: "Y"
devices:
  - /dev/vhost-net
device_cgroup_rules:
  - 'c *:* rwm'

كيف أضيف أقراصًا متعددة؟

لإنشاء أقراص إضافية، قم بتعديل ملف compose الخاص بك مثل هذا:

environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - ./example2:/storage2
  - ./example3:/storage3

كيف أمرر قرصًا؟

يمكنك تمرير أجهزة القرص أو الأقسام مباشرة عن طريق إضافتها إلى ملف compose الخاص بك بهذه الطريقة:

devices:
  - /dev/sdb:/disk1
  - /dev/sdc1:/disk2

استخدم /disk1 إذا كنت تريد أن يصبح محرك الأقراص الرئيسي لديك (والذي سيتم تنسيقه أثناء التثبيت)، واستخدم /disk2 وما فوق لإضافتها كمحركات أقراص ثانوية (والتي ستبقى دون تغيير).

كيف أمرر جهاز USB؟

لتمرير جهاز USB، ابحث أولاً عن معرفات البائع والمنتج الخاصة به عبر الأمر lsusb، ثم أضفها إلى ملف compose الخاص بك مثل هذا:

environment:
  ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
devices:
  - /dev/bus/usb

[!WARNING]
قد تؤدي إضافة جهاز تخزين USB قبل انتهاء إعداد ويندوز إلى فشله. أو الأسوأ: قد يتم تنسيق القرص كقرص النظام، وسيتم فقدان جميع بياناتك! لذا، احتفظ بها دائمًا مفصولة عند تشغيل الحاوية لأول مرة.

هل هذه جميع الخيارات المتاحة؟

لا. للحصول على نظرة عامة كاملة عن جميع الإعدادات المدعومة، راجع صفحة متغيرات البيئة.

كيف أتحقق من توفر KVM؟

أولاً، تأكد من أن منصتك وبيئة تشغيل الحاوية تفي بالمتطلبات المذكورة أعلاه.

على مضيف لينكس، قم بتثبيت cpu-checker وقم بتشغيل:

sudo apt install cpu-checker
sudo kvm-ok

يجب أن يبلغ التكوين العامل:

KVM acceleration can be used

يمكنك أيضًا التحقق من وجود جهاز KVM:

ls -l /dev/kvm

إذا كان KVM غير متوفر، تحقق مما يلي:

  • تم تمكين المحاكاة الافتراضية للأجهزة (Intel VT-x أو AMD-V) في BIOS أو UEFI الخاص بك.
  • تم تمكين المحاكاة الافتراضية المتداخلة عندما يكون المضيف نفسه جهازًا افتراضيًا.
  • يدعم موفر VPS أو السحابة الخاصة بك المحاكاة الافتراضية المتداخلة.

إذا نجح kvm-ok ولكن الحاوية لا تزال تبلغ أن KVM غير متوفر، يمكنك إضافة privileged: true مؤقتًا إلى ملف Compose الخاص بك لاستبعاد مشكلة الإذن أو الوصول إلى الجهاز.

كيف أشغل macOS في حاوية؟

يمكنك استخدام dockur/macos لذلك. يشارك العديد من الميزات نفسها، باستثناء التثبيت التلقائي.

كيف أشغل سطح مكتب لينكس في حاوية؟

يمكنك استخدام qemus/qemu في هذه الحالة.

هل هذا المشروع قانوني؟

نعم، يحتوي هذا المشروع فقط على كود مفتوح المصدر ولا يقوم بتوزيع ويندوز نفسه. أي مفاتيح منتج موجودة في الكود هي مفاتيح تثبيت عامة نشرتها مايكروسوفت لأغراض تجريبية وليست تراخيص تنشيط صالحة.

أنت مسؤول عن ضمان حصولك على ترخيص ويندوز صالح وأن استخدامك يتوافق مع شروط ترخيص مايكروسوفت.

النجوم 🌟

المراقبون

إخلاء المسؤولية ⚖️

إن أسماء المنتجات والشعارات والعلامات التجارية والعلامات التجارية الأخرى المشار إليها ضمن هذا المشروع هي ملك لأصحاب العلامات التجارية المعنيين. هذا المشروع ليس تابعًا أو برعاية أو مؤيدًا من قبل شركة مايكروسوفت.

الفئات