خادم محلي مع Docker على نظام Windows: دليل كامل

  • يتيح لك Docker على نظام التشغيل Windows تشغيل حاويات Linux وWindows، سواء على أجهزة الكمبيوتر المكتبية أو الخوادم.
  • يُستخدم Docker Desktop مع WSL 2 بشكل شائع في التطوير، بينما يُوصى باستخدام Docker Engine كخدمة في الإنتاج.
  • يُعد التكوين باستخدام daemon.json والشبكات والوكلاء ومجموعات الأمان أمرًا أساسيًا للاستخدام المستقر والآمن.
  • يُسهّل Docker Compose إنشاء بيئات تطوير محلية قابلة للتكرار مع إعادة التحميل الفوري ونشر الخوادم بشكل متسق.

خادم محلي مزود بـ Docker على نظام التشغيل Windows

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

تظهر المشكلة عندما يعتمد تطبيقك على تقنيات لينكس، لكن عميلك يستخدم ويندوزهذا هو السيناريو المعتاد: نظام خلفي يعمل على لينكس، وواجهة أمامية ومستخدم نهائي على ويندوز 10 أو 11 أو حتى ويندوز سيرفر. لسنوات، كان الحل الأسهل هو استخدام Docker Desktop. لكن هذا يعني أن على المستخدم أن يتذكر تشغيله، وإدارة التحديثات، والتعامل مع WSL 2 أو Hyper-V... ولا تسير الأمور بسلاسة دائمًا. لحسن الحظ، يمكننا اليوم إعداد بيئات محلية وخوادم قوية باستخدام Docker على ويندوز، مع سطح المكتب Docker كما هو الحال مع عامل الميناء كخدمة.

ما هو Docker على نظام التشغيل Windows ولماذا يستحق استخدامه؟

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

في أنظمة ويندوز الحديثة، يعمل برنامج Docker بطريقتين:

  • استخدام حاويات ويندوز الأصلية (استنادًا إلى صور مثل Nano Server أو Server Core أو Windows Server).
  • مدعوم بطبقة افتراضية (Hyper-V أو WSL 2) لتشغيل حاويات لينكسيسمح هذا، على سبيل المثال، للشركة بوضع تطبيقات ASP.NET الكلاسيكية في حاويات ضمن صور Windows Server، وفي الوقت نفسه، نشر الخدمات المصغرة لنظام Linux في نفس النظام البيئي Docker، على الرغم من أنه يوصى بفصلها حسب نوع المضيف.

تتميز حاويات Docker على نظام التشغيل Windows بأنها أخف بكثير من الآلة الافتراضيةبدلاً من تشغيل نظام تشغيل كامل لكل خدمة، تتم مشاركة نواة النظام، ويُوفر كل حاوية فقط ما هو ضروري لتشغيل التطبيق. ينتج عن ذلك أوقات إقلاع في ثوانٍ وتحديثات آمنة من خلال إنشاء صور جديدة. كما يسمح بالرجوع الفوري إلى إصدار سابق في حالة حدوث أي مشكلة.

بالنسبة لأولئك الذين يتطلعون إلى تحديث البنية التحتية لبرامجهم القديمة، يوفر Docker طريقة عملية لـ تغليف تطبيقات ويندوز القديمة (على سبيل المثال، باستخدام IIS و ASP.NET الكلاسيكي) وتشغيلها في بيئات مُتحكَّم بها وقابلة للتكرار. وبالنسبة لتطوير تطبيقات جديدة، خاصةً مع التقنيات المختلطة، فإنها تُمثل الطريقة الأنسب لتوحيد بيئات التشغيل بين لينكس وويندوز والحوسبة السحابية.

Docker على نظام التشغيل Windows

متطلبات استخدام Docker على أنظمة التشغيل Windows 10 و 11 و Windows Server

قبل البدء بتثبيت أي شيء، من المهم فهم متطلبات Docker في كل حالة. لأن جهاز سطح المكتب الذي يعمل بنظام التشغيل Windows 11 ليس هو نفسه جهاز Windows Server 2022..

من جانب العميل، يتم دعم Docker Desktop (بشكل عام) في نظام التشغيل Windows 10 Pro / Enterprise مع تحديث الذكرى السنوية أو تحديث المبدعين وما بعدهما، وفي نظام التشغيل ويندوز 11 طالما أن الجهاز ونظام التشغيل يدعمان تقنية المحاكاة الافتراضية للأجهزة. من المهم تفعيل خيار المحاكاة الافتراضية في BIOS/UEFI. يمكنك التحقق من ذلك في إدارة المهام ضمن علامة التبويب "الأداء".

من جانب الخادم، يمكن تثبيت محرك Docker في ويندوز سيرفر 2016، 2019، 2022 و2025لاستخدام عزل Hyper-V أو تشغيل حاويات Linux في سيناريوهات خاصة، يجب أن تكون ميزة Hyper-V متاحة، وإذا كان الخادم يعمل داخل جهاز افتراضي، فيجب أن يدعم المحاكاة الافتراضية المتداخلة وأن يحتوي على 4 جيجابايت على الأقل من ذاكرة الوصول العشوائي المخصصة لاستضافة الحاويات.

يعتمد برنامج Docker Desktop على نظامي التشغيل Windows 11 وWindows 10 WSL 2 (نظام ويندوز الفرعي لنظام لينكس)يُتيح ذلك تقديم تجربة أقرب إلى نظام لينكس. توفر هذه الطبقة نواة لينكس خفيفة الوزن، وتعمل الحاويات فوقها بتكامل جيد مع نظام ملفات ويندوز.

وماذا عن التوافق؟ لا يزال Docker يعمل بشكل مثالي على المنصات الرئيسية. توزيعات لينكس 64 بت (ديبيان، أوبونتو، فيدورا، سنت أو إس، أوراكل لينكس، ريد هات إن إل، أوبن سوزي، سوزي إنتربرايز...)، سواء محليًا أو على خوادم سحابية مثل أزور أو أمازون ويب سيرفيسز. ومن الشائع دمج أنظمة ويندوز ولينكس حسب متطلبات العمل.

قم بتثبيت Docker Desktop على نظامي التشغيل Windows 10 و Windows 11

يُعد تثبيت Docker Desktop على جهاز تطوير يعمل بنظام Windows حاليًا أسهل طريقة للبدء باستخدام الحاويات. خاصةً إذا كنت ستعمل مع صور Linux وتريد شيئًا ما. متكامل مع سطح المكتب.

الخطوة الأولى هي الذهاب إلى موقع Docker الرسمي. هناك، ستحتاج إلى تنزيل برنامج التثبيت. Docker Desktop لنظام التشغيل Windowsبعد تشغيل الملف، سيطلب منك المعالج تفعيل تكامل WSL 2. يُنصح بشدة بتحديد خيار "استخدام WSL 2 بدلاً من Hyper-V" كلما كان جهازك يدعمه، حيث يكون الأداء عادةً أفضل ويستهلك موارد أقل من الجهاز الظاهري التقليدي.

أثناء عملية التثبيت، سيتم تنزيل وتثبيت ما يلي: نظام ويندوز الفرعي لنظام لينكس (WSL 2) إذا لم يكن لديك بالفعل، ففي بعض الحالات سيوفر لك معالج Docker رابطًا مباشرًا لتنزيل أحدث حزمة WSL 2 من موقع Microsoft الإلكتروني. ما عليك سوى اتباع تعليمات المعالج وإعادة التشغيل عند ظهور المطالبة.

بعد إعادة التشغيل، سيتم تشغيل Docker Desktop وعرض اتفاقية الترخيص. المنتج مجاني لـ الاستخدام الشخصي والشركات الصغيرةومع ذلك، بالنسبة للمؤسسات الكبيرة، يُنصح بمراجعة شروط الترخيص للتأكد من أنها تتناسب مع نوع الاستخدام وحجم الشركة.

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

Docker على نظام التشغيل Windows

قم بتثبيت Docker Engine على خادم Windows

عندما نتحدث عن بيئات الخوادم، وخاصة في بيئات الإنتاج، فليس من المعتاد استخدام Docker Desktop، بل تثبيت... محرك Docker كخدمة Windowsفي أنظمة التشغيل Windows Server 2016 و 2019 و 2022 أو 2025، توفر Microsoft برامج نصية تسهل هذه العملية بشكل كبير.

الطريقة المُوصى بها في نظام التشغيل Windows Server 2022، على سبيل المثال، هي فتح جلسة PowerShell بصلاحيات المسؤول وتنزيل برنامج التثبيت الرسمي من مستودع Microsoft على GitHub. ويتم ذلك باستخدام أمر يستخدم استدعاء WebRequest لجلب البرنامج النصي install-docker-ce.ps1 وحفظه على القرص.

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

كما هو الحال في لينكس، يمكنك التحقق من صحة التثبيت بتشغيل حاوية بسيطة مثل hello-world. يتيح لك هذا التأكد من استجابة البرنامج بشكل صحيح وإمكانية إنشاء الحاويات. بعد ذلك، يتصرف Docker كأي خدمة نظام أخرى، ويمكن إدارته من خلال services.msc أو باستخدام أوامر PowerShell.

من الجدير بالذكر أن، بالنسبة لـ أعباء العمل الإنتاجيةلا تنصح مايكروسوفت ودوكر باستخدام Docker Desktop على نظام Windows Server، فهو مصمم لأغراض التطوير وليس للخوادم. على الخوادم، يُنصح باستخدام محرك Docker المُثبّت كخدمة، سواءً Docker EE/CE أو بيئة التشغيل المُستخدمة لحاويات Windows.

تهيئة محرك Docker على نظام Windows باستخدام ملف daemon.json

في نظام التشغيل Windows Server، تتمثل أفضل طريقة لضبط سلوك برنامج Docker daemon بدقة في استخدام ملف تكوين JSON يسمى daemon.jsonيوجد هذا الملف في المسار C:\ProgramData\Docker\config\. إذا لم يكن موجودًا، يمكنك إنشاؤه بنفسك مع مراعاة تنسيق JSON.

يمكنك في هذا الملف تعديل عدد كبير من المعلمات. على سبيل المثال: خيارات الشبكة والتخزين والتسجيل ونظام أسماء النطاقات (DNS) يشمل ذلك إعدادات TLS، ونسخ سجل النظام، ومجموعات الأمان للوصول إلى مقبس Docker. لستَ بحاجة إلى ملء جميع المفاتيح، فقط أضف المفاتيح التي ترغب بتخصيصها، وسترث بقية المفاتيح القيم الافتراضية.

في البيئات التي تتطلب تشفيرًا شاملاً، يمكنك تفعيل خيار "tlsverify" وتحديد مسارات شهادة المرجع المصدق، وشهادة الخادم، والمفتاح الخاص باستخدام "tlscacert" و"tlscert" و"tlskey". مع هذا الإعداد، لن يقبل البرنامج إلا الاتصالات الآمنة على المنفذ المحدد. وهذا أمر بالغ الأهمية عند إتاحة Docker لأجهزة أخرى على الشبكة.

بالإضافة إلى ملف التكوين، هناك خيار لتعديل معلمات البرنامج الخفي عن طريق تعديل ملف التكوين مباشرةً. خدمة Docker باستخدام أداة `sc config` وإضافة علامات إلى مسار الملف الثنائي (binpath). إنها أقل مرونة من ملف `daemon.json`، ولكنها لا تزال مفيدة في حالات أو بيئات محددة حيث يُفضل الاحتفاظ بجميع الإعدادات داخل الخدمة نفسها.

خادم محلي مزود بـ Docker على نظام التشغيل Windows

الشبكات والأمان والوكالة في Docker لنظام التشغيل Windows

يُعدّ جانب الشبكات في استخدام Docker في نظام Windows أمرًا معقدًا بعض الشيء. بشكل افتراضي، يقوم المحرك بإنشاء شبكة NAT بالنسبة للحاويات، يتيح لها ذلك الوصول إلى الإنترنت عبر المضيف وكشف المنافذ للعالم الخارجي باستخدام تعيين المنافذ. مع ذلك، قد لا يكون إنشاء هذه الشبكة افتراضيًا مرغوبًا في بعض الأحيان، كما هو الحال في البيئات شديدة التحكم أو عند الرغبة في إدارة جميع الشبكات يدويًا.

لتعطيل إنشاء شبكة NAT الافتراضية، يمكنك ضبط قيمة المعامل "bridge" على "none" في ملف daemon.json. بعد ذلك، ستحتاج إلى تحديد الشبكات التي ستستخدمها الحاويات، إما باستخدام أوامر `docker network` أو من خلال أدوات التنسيق.

فيما يتعلق بالوصول إلى البرنامج الخفي، عند العمل محليًا على مضيف Docker، يتم إرسال الأوامر عادةً من خلال أنبوب اسمه في نظام ويندوز، وبحسب التصميم، لا يملك حق الوصول إلى هذا المسار إلا أعضاء مجموعة المسؤولين. إذا كنت ترغب في تفويض إدارة الحاويات إلى مجموعة محددة، يمكنك استخدام مُعامل "group" في الإعدادات لتحديد اسم مجموعة الأمان التي ستُمنح صلاحية الاتصال بالمحرك.

في بيئات الشركات، من الشائع أيضًا أن تتصل الأجهزة بالإنترنت عبر وكيل HTTP/HTTPSلكي يعمل الأمر docker pull أو docker search بشكل صحيح خلف وكيل، ستحتاج إلى تحديد متغيرات البيئة HTTP_PROXY و/أو HTTPS_PROXY على مستوى الجهاز.

لإدارة الشبكات المتقدمة، يوفر نظام ويندوز أوامر مثل Get-HNSNetwork وRemove-HNSNetwork لإدارة الشبكات التي أنشأها Docker ونظام الشبكات المضيفة في ويندوز. يُعد هذا مفيدًا بشكل خاص عند تنظيف خادم أو حل تعارضات التكوين المتبقية بعد عمليات إلغاء التثبيت أو التغييرات الجذرية.

تشغيل حاويات ويندوز ولينكس على نفس المضيف

على المستوى التقني، من الممكن الجمع حاويات ويندوز ولينكس على نفس الجهاز، ولكن من المهم فهم التداعيات. يسمح Docker Desktop بالتبديل بين وضعي Windows وLinux، ويوفر Windows Server عزل Hyper-V، الذي يُمكّن حاويات Linux من خلال المحاكاة الافتراضية الخفيفة.

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

بالنسبة لحاويات ويندوز، توجد العديد من الصور الأساسية الرسمية من مايكروسوفت المنشورة في مستودعات مثل Docker Hub أو سجل حاويات مايكروسوفت (MCR). ومن بينها:

  • خادم نانو (الأخف وزناً، مثالي للتطبيقات الحديثة).
  • Server Core (مصمم لتطبيقات الخادم).
  • ويندوز وويندوز سيرفر (الأكثر اكتمالاً، مع توافق كامل مع واجهة برمجة التطبيقات).

عند تشغيل حاوية مبنية على Server Core، ستلاحظ أن الصدفة الافتراضية هي PowerShell وليست bash. قد يكون هذا الأمر مُربكًا في البداية، خاصةً وأن موجهات الأوامر في الحاوية والمضيف تبدو متشابهة جدًا، وقد يؤدي إهمال بسيط إلى تشغيل أوامر خطيرة في غير موضعها. يُظهر لك الأمر `hostname` داخل الحاوية مُعرّف الحاوية، وليس مُعرّف الخادم الفعلي أو الجهاز الظاهري.

صُممت الحاويات لتكون يمكن التخلص منها واستبدالهاتركز الإدارة على إنشاء الحاويات وتشغيلها وحذفها، وليس على "إدارتها" كما هو الحال مع الأجهزة الافتراضية طويلة الأمد. يجب أن تكون أي إعدادات دائمة موجودة في الصورة أو خارج الحاوية (وحدات التخزين، الإعدادات الخارجية)، لأن أي تغيير يدوي داخل الحاوية سيُفقد عند حذفها.

خادم ويب Node.js مع خاصية إعادة التحميل الفوري

يمكنك تحويل مثالك إلى "Hello World" بدءًا من وحدة التحكم. خادم HTTP صغير باستخدام Express، من خلال تعريف app.get على المسار "/" الذي يستجيب بنص عادي ويستمع على المنفذ 3000، لديك بالفعل بيئة ويب وظيفية.

في ملف docker-compose.yml، يمكنك تعديل أمر بدء التشغيل إلى شيء مثل `sh -c "npm install; npm start"` بحيث يقوم الحاوية بتثبيت التبعيات في المرة الأولى ثم يبدأ تشغيل nodemon مع app.js. بالإضافة إلى ذلك، هذا هو الوقت المناسب لربط منفذ الحاوية 3000 بمنفذ المضيف 3000 باستخدام مفتاح `ports`، حتى تتمكن من الوصول إليه من متصفحك على http://localhost:3000 (أو عنوان IP الخاص بالجهاز الظاهري إذا كنت تستخدم Docker Toolbox أو مضيف Linux بعيد).

إذا قمت بعد ذلك بتوسيع منطق ملف app.js لقبول المسارات الديناميكية، على سبيل المثال "/:name" وإرجاع "Hello" ستتمكن من رؤية كيف يتم تطبيق كل تغيير في الكود على الفور دون الحاجة إلى إعادة بناء الصورة أو إعادة تشغيل الحاوية يدويًا. إنه نفس سلوك LiveReload تمامًا، ولكن مُغلّف في صورة محمولة يمكنك نشرها غدًا على خادم Linux أو على السحابة.

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

بالنسبة للمشاريع الأكثر تعقيدًا، يُمكن لملف docker-compose.yml تعريف خدمات متعددة (قاعدة بيانات، ذاكرة تخزين مؤقت، قائمة انتظار الرسائل، إلخ) وربطها ببعضها. على نظام ويندوز، طالما أنك تستخدم Docker Desktop مع WSL 2، ستستمر هذه البيئة بأكملها في العمل بشكل مطابق تقريبًا لنظام لينكس الأصلي.

الاستخدام النموذجي لـ Docker على نظام Windows Server مع IIS والتطبيقات القديمة

إلى جانب التطوير، ترغب العديد من الشركات في الاستفادة من Docker لـ تغليف تطبيقات ويندوز القديمة التي تستخدم IIS أو ASP الكلاسيكية أو إصدارات أقدم من .NET. في هذه الحالات، من الشائع البدء بصورة أساسية لنظام Windows Server Core مع تثبيت IIS مسبقًا.

يمكن إنشاء مثل هذه الحاوية باستخدام docker run عن طريق تحديد صورة IIS المناسبة، واسم الحاوية، وتعيين المنفذ (على سبيل المثال، 8081:80 لعرض المنفذ الداخلي 80 على منفذ المضيف 8081)، وتركيب مجلد على المضيف مثل c:\inetpub\wwwroot لوضع ملفات التطبيق هناك.

إذا شغّلت الحاوية في الوضع التفاعلي، فستدخل جلسة PowerShell داخل خادم IIS الخاص بالحاوية. ومن هناك، يمكنك فحص السجلات، ومراجعة الإعدادات، وفهم كيفية عمل تطبيقك في هذه البيئة الجديدة. عندما تريد إيقاف الجلسة دون إيقاف الحاوية، استخدم الأمر `exit` أو أوقفها من المضيف.

إذا كنت بحاجة إلى استمرار تشغيل التطبيق في الخلفية، فإن أفضل طريقة هي تشغيل الحاوية باستخدام الخيار `-d` لتشغيلها في وضع "منفصل". بعد ذلك، يمكنك إدارتها كأي حاوية أخرى: استخدم الأمر `docker ps` لعرض محتوياتها، والأمر `docker logs` لمراجعة سجلاتها، والأمر `docker stop` لإيقافها، والأمر `docker rm` لحذفها عند انتهاء الحاجة إليها.

إنشاء صور مخصصة لنظام ويندوز يتم بنفس طريقة إنشائها في لينكس. تقوم بتعريف ملف Dockerfile يتضمن تعليمات النسخ والتثبيت والتكوين، ثم تبني الصورة باستخدام الأمر `docker build`، وبعد ذلك تقوم بتصنيفها ونشرها في سجل خاص إذا كنت ستستخدمها على عدة خوادم. الفرق العملي الوحيد هو أن ويندوز يقبل كلاً من الشرطات المائلة الأمامية والخلفية في المسارات، مع أنه من الأفضل استخدام نفس النوع لتجنب أي لبس.

قم بإلغاء تثبيت Docker وإجراء تنظيف كامل على نظام التشغيل Windows

إذا اضطررت يوماً ما إلى قم بإزالة Docker بالكامل عند العمل على جهاز يعمل بنظام التشغيل Windows 10 أو Windows Server 2016/2019، من المهم اتباع تسلسل منظم. سيمنع ذلك ترك ملفات غير ضرورية أو فقدان البيانات التي ترغب في الاحتفاظ بها.

الخطوة الأولى هي التأكد من عدم تشغيل أي حاويات. يمكنك مغادرة أي مجموعة نشطة باستخدام الأمر `docker swarm leave --force`، ثم إيقاف جميع الحاويات قيد التشغيل باستخدام الأمر `docker ps --quiet` متبوعًا بالأمر `docker stop`. بعد ذلك، يمكنك استخدام الأمر `docker system prune --all --volumes` إذا كنت ترغب في إزالة الحاويات والصور والشبكات ووحدات التخزين بشكل كامل.

في نظام التشغيل Windows 10، تتم عملية إلغاء تثبيت Docker Desktop من الإعدادات> التطبيقات> التطبيقات والميزاتابحث عن "Docker" في القائمة، وحدده، ثم انقر فوق "إلغاء التثبيت". في نظام التشغيل Windows Server 2016، إذا قمت بتثبيت Docker باستخدام وحدات PowerShell مثل DockerMsftProvider، فإن عملية إلغاء التثبيت تتضمن استخدام الأمر Uninstall-Package والأمر Uninstall-Module لإزالة كل من حزمة Docker وموفرها.

بعد إلغاء تثبيت البرنامج، يُنصح بإزالة شبكات HNS المرتبطة بـ Docker باستخدام أوامر النظام. كذلك، احذف مجلد C:\ProgramData\Docker باستخدام الأمر `Remove-Item -Recurse` لإزالة أي بيانات متبقية للبرنامج. سيؤدي ذلك إلى تحرير المساحة التي كانت تشغلها صور الحاويات والطبقات.

في العديد من الأنظمة، يؤدي تثبيت Docker تلقائيًا إلى تمكين ميزات Windows الاختيارية مثل حاويات وفي بعض الحالات، Hyper-V. إذا لم تعد تنوي استخدام الحاويات على هذا الجهاز، يمكنك تعطيل هذه الميزات من لوحة التحكم في نظام التشغيل Windows 10 (البرامج والميزات > تشغيل ميزات Windows أو إيقاف تشغيلها) أو باستخدام Remove-WindowsFeature Containers / Hyper-V في Windows Server.

بعد إتمام هذه الخطوات، يُنصح بإعادة تشغيل النظام باستخدام الأمر `Restart-Computer -Force` من موجه أوامر بصلاحيات المسؤول. سيضمن ذلك تطبيق جميع تغييرات الميزات والخدمات بشكل صحيح، وسيُبقي جهاز الكمبيوتر في حالة نظيفة.