"نوافذ التعبئة": استكشاف تقنية الحاويات من Microsoft. مقدمة موجزة عن حاوية تطبيق حاويات Windows

استكشاف تكنولوجيا الحاويات
ويندوز سيرفر 2016

إحدى الميزات الجديدة البارزة التي تم تقديمها في Windows Server 2016 هي دعم الحاويات. دعنا نتعرف عليها بشكل أفضل

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

حاويات على النوافذ

في Windows Server 2016 ، بالإضافة إلى تقنيات المحاكاة الافتراضية الحالية - تطبيقات Hyper-V و Server App-V الافتراضية ، تمت إضافة دعم حاويات Windows Server ، وتم تنفيذه من خلال طبقة تجريد مكدس إدارة الحاويات التي تنفذ جميع الوظائف الضرورية. تم الإعلان عن التكنولوجيا مرة أخرى في Technical Preview 4 ، ولكن منذ ذلك الحين تغير الكثير نحو التبسيط ولا يمكن حتى قراءة التعليمات المكتوبة مسبقًا. في الوقت نفسه ، تم اقتراح نوعين من الحاويات "الخاصة" - حاويات Windows وحاويات Hyper-V. وربما تكون هناك فرصة رئيسية أخرى تتمثل في استخدام أدوات Docker بالإضافة إلى أوامر PowerShell cmdlets لإدارة الحاويات.

تشبه حاويات Windows FreeBSD Jail أو Linux OpenVZ من حيث المبدأ ، فهي تستخدم نواة واحدة مع نظام التشغيل ، والتي ، إلى جانب الموارد الأخرى (RAM ، والشبكة) ، يتم مشاركتها فيما بينها. يتم تعيين ملفات وخدمات نظام التشغيل في مساحة الاسم لكل حاوية. يستخدم هذا النوع من الحاويات الموارد بكفاءة ، مما يقلل من الحمل ، وبالتالي يسمح بوضع التطبيقات بشكل أكثر كثافة. نظرًا لأن الصور الأساسية للحاوية "لها" نواة واحدة مع عقدة ، يجب أن تتطابق إصداراتها ، وإلا فلن يتم ضمان العملية.

تستخدم حاويات Hyper-V طبقة عزل إضافية ويتم تخصيص كل حاوية جوهرها وذاكرتها. يتم تنفيذ العزل ، على عكس النوع السابق ، ليس بواسطة نظام التشغيل kernel ، ولكن بواسطة Hyper-V hypervisor (يتطلب دور Hyper-V). والنتيجة هي مقدار حمل أقل من الأجهزة الظاهرية ، ولكنها تكون أكثر عزلة من حاويات Windows. في هذه الحالة ، لتشغيل الحاوية ، يجب أن يكون لديك نفس نظام التشغيل kernel. يمكن أيضًا نشر هذه الحاويات على Windows 10 Pro / Enterprise. وتجدر الإشارة بشكل خاص إلى أن نوع الحاوية لا يتم اختياره في وقت الإنشاء ، ولكن في وقت النشر. أي أنه يمكن تشغيل أي حاوية كنظام Windows ومتغير Hyper-V.

كنظام تشغيل في الحاوية ، يتم استخدام Server Core أو Nano Server. ظهر الأول في Windows Sever 2008 ويوفر توافقًا أكبر مع التطبيقات الحالية. والثاني أكثر تجريدًا من Server Core وهو مصمم للتشغيل بدون شاشة ، مما يسمح لك بتشغيل الخادم في أصغر تكوين ممكن للاستخدام مع Hyper-V وخادم الملفات (SOFS) والخدمات السحابية ، والتي تتطلب 93٪ أقل الفضاء. يحتوي فقط على أكثر المكونات الضرورية (.Net مع CoreCLR و Hyper-V و Clustering وما إلى ذلك).

للتخزين ، يتم استخدام تنسيق صورة القرص الثابت VHDX. يتم حفظ الحاويات ، كما في حالة Docker ، كصور في المستودع. علاوة على ذلك ، لا يحفظ كل واحد مجموعة كاملة من البيانات ، ولكن فقط الاختلافات بين الصورة التي تم إنشاؤها والصورة الأساسية. وفي وقت الإطلاق ، يتم عرض جميع البيانات الضرورية في الذاكرة. يتم استخدام Virtual Switch لإدارة حركة مرور الشبكة بين الحاوية والشبكة الفعلية.

في مارس 2013 ، أعلن Soloman Hykes عن بدء مشروع مفتوح المصدر أصبح يُعرف فيما بعد باسم Docker. في الأشهر التي تلت ذلك ، كان مدعومًا بقوة من قبل مجتمع Linux ، وفي خريف عام 2014 ، أعلنت Microsoft عن خطط لتنفيذ الحاويات في Windows Server 2016. أصدرت WinDocks ، التي شاركت في تأسيسها ، إصدارًا مستقلاً مفتوح المصدر من Docker لنظام التشغيل Windows في أوائل عام 2016 مع التركيز على دعم الحاوية من الدرجة الأولى. في SQL Server. أصبحت الحاويات بسرعة محور الاهتمام في الصناعة. في هذه المقالة ، سوف نلقي نظرة على الحاويات واستخدامها من قبل مطوري SQL Server و DBA.

مبادئ تنظيم الحاويات

تحدد الحاويات طريقة جديدة لتطبيقات التعبئة ، جنبًا إلى جنب مع عزل المستخدم والعملية ، للتطبيقات متعددة المستأجرين. كانت تطبيقات الحاويات المختلفة لنظامي التشغيل Linux و Windows موجودة منذ سنوات ، ولكن مع إصدار Windows Server 2016 ، أصبح لدينا معيار Docker الفعلي. اليوم ، يتم دعم واجهة برمجة تطبيقات حاوية Docker وتنسيقها على خدمات AWS العامة و Azure و Google Cloud وجميع توزيعات Linux و Windows. يتمتع إطار Docker الأنيق بمزايا مهمة.

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

حاويات خادم SQL

قام SQL Server بدعم المثيل المتعدد للتأجير لمدة عشر سنوات ، فما هي قيمة حاويات SQL Server؟

النقطة المهمة هي أن حاويات SQL Server أكثر عملية نظرًا لسرعتها وأتمتتها. حاويات SQL Server هي مثيلات مسماة ، مع البيانات والإعدادات ، يتم توفيرها في ثوانٍ. إن القدرة على إنشاء حاويات SQL Server وحذفها واستبدالها في ثوانٍ تجعلها أكثر عملية للتطوير وضمان الجودة وحالات الاستخدام الأخرى الموضحة أدناه.

بفضل سرعتها وأتمتتها ، تعتبر حاويات خادم SQL مثالية لتطوير الإنتاج وبيئة مراقبة الجودة. يعمل كل عضو في الفريق مع حاويات معزولة في آلة افتراضية مشتركة ، مع تقليل عدد الأجهزة الافتراضية من ثلاثة إلى خمسة أضعاف. نتيجة لذلك ، نحقق وفورات كبيرة في صيانة الأجهزة الافتراضية وتكلفة تراخيص Microsoft. يمكن دمج الحاويات بسهولة في صفيفات شبكة منطقة التخزين (SAN) باستخدام النسخ المتماثلة للتخزين ونسخ قاعدة البيانات (الشكل 2).

يتم إنشاء مثيل لقاعدة بيانات متصلة بسعة 1 تيرابايت في حاوية في أقل من دقيقة واحدة. يعد هذا تحسينًا كبيرًا على الخوادم مع مثيلات مسماة مخصصة أو توفير أجهزة افتراضية لكل مطور. تستخدم إحدى الشركات خادمًا ثماني النواة لخدمة ما يصل إلى 20 حاوية خادم SQL بسعة 400 جيجابايت. في الماضي ، كان كل جهاز افتراضي يستغرق أكثر من ساعة للتزويد ، ويتم توفير مثيلات الحاوية في دقيقتين. وبالتالي ، كان من الممكن تقليل عدد الأجهزة الافتراضية بمقدار 20 مرة ، وتقليل عدد نوى المعالج بمقدار 5 مرات وتقليل تكلفة الدفع مقابل تراخيص Microsoft بشكل كبير. بالإضافة إلى ذلك ، زيادة المرونة والاستجابة في الأعمال.

استخدام حاويات SQL Server

يتم تعريف الحاويات باستخدام البرامج النصية Dockerfile ، والتي توفر خطوات محددة لبناء حاوية. يحدد Dockerfile الموضح في الشكل 1 SQL Server 2012 بقواعد البيانات المنسوخة إلى الحاوية وبرنامج SQL Server النصي لإخفاء الجداول المحددة.

يمكن أن تحتوي كل حاوية على عشرات قواعد البيانات مع الملفات المساعدة وملفات السجل. يمكن نسخ قواعد البيانات وتشغيلها في حاوية أو تحميلها باستخدام الأمر MOUNTDB.

تحتوي كل حاوية على نظام ملفات خاص معزول عن موارد المضيف. في الشكل 2 ، تم بناء الحاوية باستخدام MSSQL-2014 و venture.mdf. يتم إنشاء معرف الحاوية ومنفذ حاوية فريد.


الشكل 2: حاوية و venture.mdf SQL Server 2014

توفر حاويات SQL Server مستوى جديدًا من الأداء والأتمتة ، ولكن سلوكها مماثل تمامًا للمسافات المسماة العادية. يمكن تنفيذ إدارة الموارد باستخدام SQL Server Instrumentation أو من خلال حدود موارد الحاوية (الشكل 3).

تطبيقات أخرى

تعتبر الحاويات الوسيلة الأكثر شيوعًا لتنظيم بيئة التطوير وضمان الجودة ، ولكن هناك استخدامات أخرى آخذة في الظهور. يعد اختبار التعافي من الكوارث حالة استخدام بسيطة ولكنها واعدة. تتضمن أخرى حاويات بيئة SQL Server الداخلية للتطبيقات القديمة مثل SAP أو Microsoft Dynamics. تُستخدم الواجهة الخلفية الحاوية لتوفير بيئة عمل للدعم والصيانة المستمرة. تُستخدم حاويات التقييم أيضًا لدعم بيئات الإنتاج مع مخازن البيانات الثابتة. في إحدى المقالات التالية ، سأتحدث بالتفصيل عن البيانات الثابتة.

WinDocks ملتزمة بجعل الحاويات أسهل في الاستخدام من خلال واجهة الويب. يركز مشروع آخر على ترحيل حاويات SQL Server في DevOps أو التكامل المستمر مع خطوط أنابيب CI / CD استنادًا إلى Jenkins أو Team City. يمكنك اليوم التعرف على استخدام الحاويات على جميع إصدارات Windows 8 و Windows 10 أو Windows Server 2012 أو Windows Server 2016 مع دعم لجميع الإصدارات بدءًا من SQL Server 2008 باستخدام نسختك من WinDocks Community Edition (https: //www.windocks . com / community-docker-windows).

في اليوم اسأل المسؤول سؤالا، سأوضح لك كيفية نشر صورة في حاوية على Windows Server 2016 ، وإنشاء صورة جديدة ، وتحميلها إلى Docker.

إحدى الميزات الجديدة الرئيسية في Windows Server 2016 هي دعم الحاويات و Docker. توفر الحاويات تجربة افتراضية خفيفة الوزن ومرنة يمكن للمطورين استخدامها لنشر التطبيقات وتحديثها بسرعة دون حمل الأجهزة الافتراضية. إلى جانب Docker ، وهو حل لإدارة الحاويات ، انفجرت تقنية الحاويات على مدار السنوات القليلة الماضية.

هذا تحديث للمعلومات التي تم تضمينها سابقًا في نشر حاويات Windows Server وإدارتها باستخدام Docker التي كانت حاليًا لـ Windows Server 2016 Technical Preview 3. لمزيد من المعلومات حول Docker ، راجع ما هو Docker؟ وهل حاويات Docker أفضل من الأجهزة الافتراضية؟ على ال قاعدة المعرفة التقنية بتري IT.

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

قم بتثبيت Docker Engine

الخطوة الأولى هي تثبيت دعم Docker على Windows Server 2016.

  • سجّل الدخول إلى Windows Server.
  • انقر بحثرمز شريط المهام واكتب بوويرشيلفي مربع البحث.
  • انقر على اليمين نوافذ بوويرشيلفي نتائج البحث وحدد تشغيل كمسؤولمن القائمة.
  • أدخل بيانات اعتماد المسؤول عندما يُطلب منك ذلك.

لتثبيت Docker على Windows Server ، قم بتشغيل أمر PowerShell cmdlet التالي. سيُطلب منك تثبيت NuGet ، الذي يقوم بتنزيل وحدة Docker PowerShell من مستودع موثوق عبر الإنترنت.

تثبيت الوحدة النمطية -اسم DockerMsftProvider -Force

الآن استخدم ثبت المجموعة cmdlet لتثبيت محرك Docker على Windows Server. لاحظ أن إعادة التشغيل مطلوبة في نهاية العملية.

تثبيت حزمة-اسم عامل إرساء -ProviderName DockerMsftProvider -Force Restart-Computer -Force

بعد إعادة تشغيل الخادم ، أعد تشغيل موجه PowerShell وتحقق من تثبيت Docker عن طريق تشغيل الأمر التالي:

نسخة عامل ميناء

قم بتنزيل صورة من Docker وابدأ عملية الحاوية

الآن بعد تثبيت محرك Docker ، دعنا نسحب صورة Windows Server Core الافتراضية من Docker:

عامل ميناء سحب مايكروسوفت / windowsServerCore

الآن بعد أن تم تحميل الصورة إلى الخادم المحلي ، ابدأ عملية الحاوية باستخدام إطلاق عامل ميناء:

يقوم Docker بتشغيل Microsoft / windowsServerCore

قم بإنشاء صورة جديدة

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

الرعاة

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

لاحظ ذلك في سطر الأوامر أدناه -tتعطي المعلمة علامة الصورة ، مما يسمح لك بتحديد الصورة بسهولة. أيضًا ، انتبه بشكل خاص للواصلة التي تظهر بعد اسم العلامة.

"من Microsoft / windowsservercore` n CMD echo Hello World! " | بناء عامل ميناء -t mydockerid / windows-test-image -

بعد انتهاء Docker من إنشاء الصورة الجديدة ، تحقق من قائمة الصور المتاحة على الخادم المحلي. يجب أن ترى كليهما. مايكروسوفت / windowsServerCoreو mydockerid / windows-test-imagesفي القائمة.

صورة عامل ميناء

الآن ابدأ صورة جديدة في الحاوية ، وتذكر استبدالها mydockeridمع معرف Docker الخاص بك ويجب أن ترى مرحبا بالعالم!تظهر عند المخرج:

تشغيل عامل ميناء mydockerid / windows-test-images

قم بتحميل صورة إلى Docker

لنقم بتحميل الصورة التي أنشأناها للتو إلى Docker حتى تكون متاحة من السحابة. تسجيل الدخول باستخدام معرف Docker وكلمة المرور:

تسجيل الدخول إلى docker -u mydockerid -p mypassword

الاستخدام دفع عامل الميناءلتحميل الصورة التي أنشأناها في الخطوات السابقة عن طريق استبدال mydockeridباسم معرف Docker الخاص بك:

دفع عامل ميناء mydockerid / windows-test-images

* تنفذ أنظمة Nix أصلاً تعدد المهام وتوفر أدوات لعزل العمليات والتحكم فيها. تقنيات مثل chroot () ، التي توفر العزل على مستوى نظام الملفات ، FreeBSD Jail ، التي تقيد الوصول إلى هياكل النواة ، LXC و OpenVZ ، معروفة منذ فترة طويلة وتستخدم على نطاق واسع. لكن الدافع في تطوير التكنولوجيا كان Docker ، مما جعل من الممكن توزيع التطبيقات بسهولة. الآن هذا قد شق طريقه إلى Windows.

حاويات على النوافذ

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

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

يتمثل الاختلاف بين الحاويات والأجهزة الظاهرية في أن الحاويات لا تقوم بتحميل نسخها الخاصة من نظام التشغيل والمكتبات وملفات النظام وما إلى ذلك. نظام التشغيل ، كما كان ، مشترك مع الحاوية. المطلب الإضافي الوحيد هو الموارد اللازمة لتشغيل التطبيق في الحاوية. نتيجة لذلك ، تبدأ الحاوية في غضون ثوانٍ وتحمل النظام أقل مما في حالة الأجهزة الافتراضية. يقدم Docker حاليًا 180.000 تطبيق في المستودع ، ويتم توحيد التنسيق بواسطة Open Container Initiative (OCI). لكن الاعتماد على النواة يعني أن الحاويات لن تعمل في نظام تشغيل آخر. تتطلب حاويات Linux واجهة برمجة تطبيقات Linux ، لذلك لن يعمل Windows على Linux.

حتى وقت قريب ، قدم مطورو Windows تقنيتين للمحاكاة الافتراضية: الأجهزة الافتراضية والتطبيقات الافتراضية Server App-V. لكل منها مكانتها الخاصة للتطبيق وإيجابياتها وسلبياتها. الآن أصبح النطاق أوسع - تم الإعلان عن الحاويات (حاويات Windows Server) في Windows Server 2016. وعلى الرغم من أنه في وقت TP4 لم يكن التطوير قد اكتمل بعد ، فمن الممكن بالفعل رؤية التكنولوجيا الجديدة قيد التنفيذ واستخلاص النتائج. وتجدر الإشارة إلى أنه من خلال اللحاق بالركب ووجود تقنيات جاهزة في متناول اليد ، ذهب مطورو MS إلى أبعد من ذلك قليلاً في بعض المشكلات ، بحيث أصبح استخدام الحاويات أسهل وأكثر تنوعًا. الاختلاف الرئيسي هو أن هناك نوعين من الحاويات المعروضة: حاويات Windows وحاويات Hyper-V. في TP3 ، كانت الأولى فقط متاحة.

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

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

من الميزات المهمة للحاويات في Win 2016 أنه لا يتم اختيار النوع في وقت الإنشاء ، ولكن في وقت النشر. أي أنه يمكن تشغيل أي حاوية على شكل Windows و Hyper-V.

في Win 2016 ، تكون طبقة تجريد مكدس إدارة الحاويات مسؤولة عن الحاويات ، والتي تنفذ جميع الوظائف الضرورية. للتخزين ، يتم استخدام تنسيق صورة القرص الثابت VHDX. يتم تخزين الحاويات ، كما في حالة Docker ، كصور في المستودع. علاوة على ذلك ، لا يحفظ كل منها مجموعة كاملة من البيانات ، بل يحفظ فقط الاختلافات بين الصورة التي تم إنشاؤها والصورة الأساسية ، وفي وقت الإطلاق ، يتم عرض جميع البيانات الضرورية في الذاكرة. يتم استخدام Virtual Switch لإدارة حركة مرور الشبكة بين الحاوية والشبكة الفعلية.

يمكن أن يكون نظام التشغيل الموجود في الحاوية هو Server Core أو Nano Server. الأول ، بشكل عام ، ليس حداثة لفترة طويلة ويوفر مستوى عالٍ من التوافق مع التطبيقات الحالية. والثاني هو إصدار أكثر تجريدًا للتشغيل بدون شاشة ، مما يسمح لك بتشغيل الخادم في أصغر تكوين ممكن للاستخدام مع Hyper-V وخادم الملفات (SOFS) والخدمات السحابية. الواجهة الرسومية ، بالطبع ، مفقودة. يحتوي فقط على أكثر المكونات الضرورية (.NET مع CoreCLR و Hyper-V و Clustering وما إلى ذلك). لكنها في النهاية تشغل مساحة أقل بنسبة 93٪ ، وتتطلب إصلاحات مهمة أقل.

نقطة أخرى مثيرة للاهتمام. لإدارة الحاويات ، بالإضافة إلى PowerShell التقليدي ، يمكنك أيضًا استخدام Docker. ولتمكين تشغيل أدوات مساعدة غير أصلية على Win ، اشتركت MS لتوسيع Docker API ومجموعة الأدوات. جميع التطورات مفتوحة ومتاحة في GitHub الرسمي لمشروع Docker. تنطبق أوامر إدارة Docker على جميع الحاويات ، سواء Win و Linux. على الرغم من أنه ، بالطبع ، لا يمكن تشغيل الحاوية التي تم إنشاؤها على Linux على Windows (وكذلك العكس). في الوقت الحالي ، يعد PowerShell محدودًا من حيث الوظائف ويسمح لك فقط بالعمل مع مستودع محلي.

تركيب عبوات

يحتوي Azure على صورة Windows Server 2016 Core المطلوبة مع حاويات المعاينة التقنية 4 التي يمكنك نشرها واستخدامها لاستكشاف الحاويات. خلاف ذلك ، تحتاج إلى تكوين كل شيء بنفسك. للتثبيت المحلي ، تحتاج إلى Win 2016 ، وبما أن Hyper-V في Win 2016 يدعم الظاهرية المتداخلة (الافتراضية المتداخلة) ، يمكن أن يكون خادمًا فعليًا أو افتراضيًا. عملية تثبيت المكون قياسية. حدد العنصر المناسب في معالج إضافة الأدوار والميزات أو ، باستخدام PowerShell ، قم بإصدار الأمر

PS> تثبيت-حاويات WindowsF Feature

في هذه العملية ، سيتم أيضًا تثبيت وحدة تحكم شبكة Virtual Switch ، ويجب تكوينها على الفور ، وإلا ستؤدي الإجراءات الإضافية إلى حدوث خطأ. ننظر إلى أسماء محولات الشبكة:

PS> Get-NetAdapter

للعمل ، نحتاج إلى وحدة تحكم من النوع External. يحتوي New-VMSwitch cmdlet على الكثير من المعلمات ، ولكن على سبيل المثال ، دعنا نتعامل مع الحد الأدنى من الإعدادات:

PS> New-VMSwitch -Name خارجي -NetAdapterName Ethernet0

نحن نفحص:

PS> احصل على VMSwitch | حيث ($ _. SwitchType –eq "خارجي")

سيقوم جدار حماية Windows بحظر الاتصالات بالحاوية. لذلك ، تحتاج إلى إنشاء قاعدة سماح ، على الأقل من أجل القدرة على الاتصال عن بعد باستخدام الاتصال عن بعد PowerShell ، لذلك سنسمح لـ TCP / 80 وإنشاء قاعدة NAT:

PS> New-NetFirewallRule -Name "TCP80" -DisplayName "HTTP على TCP / 80" -Protocol tcp -LocalPort 80 -Action Allow -Enabled True PS> Add-NetNatStaticMapping -NatName "ContainerNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 - InternalIPAddress 192.168.1.2 -InternalPort 80 -ExternalPort 80

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

PS> https://aka.ms/tp4/Install-ContainerHost -OutFile C: \ Install-ContainerHost.ps1 PS> C: \ Install-ContainerHost.ps1

هناك خيار آخر - لنشر آلة افتراضية جاهزة مع دعم الحاوية. للقيام بذلك ، يوجد على نفس المورد نص يقوم تلقائيًا بجميع العمليات الضرورية. توجد إرشادات مفصلة على MSDN. قم بتنزيل البرنامج النصي وتشغيله:

PS> wget -uri https://aka.ms/tp4/New-ContainerHost -OutFile c: \ New-ContainerHost.ps1 PS> C: \ New-ContainerHost.ps1 –VmName WinContainer -WindowsImage ServerDatacenterCore

الاسم عشوائي ، ويشير -WindowsImage إلى نوع الصورة التي يتم إنشاؤها. قد تكون الخيارات NanoServer ، ServerDatacenter. يتم أيضًا تثبيت Docker على الفور ، وتكون معلمة SkipDocker و IncludeDocker مسؤولة عن غيابها أو وجودها. بعد الإطلاق ، سيبدأ تحميل الصورة وتحويلها ، وستحتاج في هذه العملية إلى تحديد كلمة مرور للدخول إلى الجهاز الظاهري. ملف ISO نفسه كبير جدًا ، حوالي 5 جيجا بايت. إذا كانت القناة بطيئة ، يمكن تنزيل الملف على كمبيوتر آخر ، ثم إعادة تسميته إلى WindowsServerTP4 ونسخه إلى C: \ Users \ Public \ Documents \ Hyper-V \ Virtual Hard Disks. يمكننا تسجيل الدخول إلى الجهاز الظاهري المثبت عن طريق تحديد كلمة المرور التي تم تعيينها أثناء التجميع والعمل.

الآن يمكنك الذهاب مباشرة إلى استخدام الحاويات.

استخدام الحاويات مع PowerShell

تحتوي وحدة الحاويات على 32 أوامر PowerShell cmdlet ، لا تزال الوثائق الخاصة ببعضها غير مكتملة ، على الرغم من أنها ، بشكل عام ، كافية لجعل كل شيء يعمل. من السهل الحصول على القائمة:

PS> Get-Command- حاويات الوحدة

يمكنك الحصول على قائمة بالصور المتاحة باستخدام Get-ContainerImage cmdlet ، الحاويات - Get-Container. في حالة الحاوية ، سيعرض عمود الحالة حالتها الحالية: متوقفة أو قيد التشغيل. ولكن بينما تكون التكنولوجيا قيد التطوير ، لم توفر MS مستودعًا ، وكما ذكرنا ، بينما تعمل PowerShell مع مستودع محلي ، لذلك سيتعين عليك إنشائها بنفسك لإجراء التجارب.

لذلك ، لدينا خادم مع دعم ، والآن نحتاج إلى الحاويات نفسها. للقيام بذلك ، قمنا بتعيين مزود الحزمة ContainerProvider.

واصلت متاحة للأعضاء فقط

الخيار 1. انضم إلى مجتمع "الموقع" لقراءة جميع المواد الموجودة على الموقع

ستمنحك العضوية في المجتمع خلال الفترة المحددة الوصول إلى جميع مواد القرصنة ، وزيادة الخصم التراكمي الشخصي الخاص بك وتسمح لك بتجميع تقييم نقاط Xakep احترافي!

تعتبر الحاويات في Microsoft Windows Server 2016 امتدادًا للتقنية للعملاء. تخطط Microsoft لتطوير العملاء ، والنشر ، والآن استضافة التطبيقات في حاويات كجزء من عملية التطوير الخاصة بهم.

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

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

تتضمن Windows Technology Container نوعين مختلفين من الحاويات ، حاوية Windows Server وحاويات Hyper-V. يتم إنشاء كلا النوعين من الحاويات وإدارتهما ويعملان بنفس الطريقة. حتى أنهم ينتجون ويستهلكون نفس صورة الحاوية. وهي تختلف فيما بينها في مستوى العزل الذي تم إنشاؤه بين الحاوية ونظام التشغيل المضيف وجميع الحاويات الأخرى التي تعمل على المضيف.

حاويات Windows Server: يمكن تشغيل مثيلات الحاوية المتعددة بشكل متزامن على مضيف مع العزل المقدم من خلال مساحة الاسم وإدارة الموارد وتقنيات عزل العملية. تشترك حاويات Windows Server في نفس النواة ، المستضافة.

حاويات Hyper-V: يمكن تشغيل مثيلات حاوية متعددة بشكل متزامن على مضيف. ومع ذلك ، يتم تنفيذ كل حاوية داخل آلة افتراضية خاصة. يوفر هذا عزلًا لمستوى النواة بين كل حاوية Hyper-V والحاوية المضيفة.

قامت Microsoft بتضمين ميزة الحاوية مجموعة من أدوات Docker ليس فقط لإدارة حاويات Linux ، ولكن أيضًا حاويات Windows Server و Hyper-V. كجزء من التعاون داخل مجتمعات Linux و Windows ، تم توسيع تجربة Docker من خلال إنشاء وحدة PowerShell لـ Docker ، والتي أصبحت الآن مفتوحة المصدر لـ. يمكن لوحدة PowerShell إدارة حاويات Linux و Windows Sever محليًا أو عن بعد باستخدام Docker REST API. يشعر المطورون بالرضا عن الابتكار للعملاء من خلال تطوير منصتنا مفتوحة المصدر. للمضي قدمًا ، نخطط لتقديم التكنولوجيا لعملائنا جنبًا إلى جنب مع ابتكارات مثل Hyper-V.

شراء Windows Server 2016

نعرض عليك شراء Windows Server 2016 بخصم من شريك Microsoft الرسمي في روسيا - شركة DATASYSTEM. ستتاح لك الفرصة للحصول على المشورة ، وكذلك تنزيل Windows Server 2016 مجانًا للاختبار من خلال الاتصال بمتخصصي الدعم الفني لدينا. سعر Windows Server 2016 عند الطلب. يمكنك تلقي عرض تجاري للمشاركة في شراء Windows Server 2016 عند الطلب عن طريق البريد الإلكتروني: