https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/deployment_nano يتحدث عن تشغيل صورة عامل ميناء نانوسيرفر تحت ويندوز:
عامل الميناء سحب مايكروسوفت / نانوسيرفر
هل هذا يعني أننا يجب أن تكون قادرة على تشغيل نانوسيرفر في أي مكان أن عامل الميناء يعمل (على سبيل المثال لينكس)?
توفر الحاويات عزل العملية على نظام تشغيل مشترك ، بدلا من عزل نظام التشغيل على الأجهزة المشتركة التي تحصل عليها مع نظام رصد السفن. نظرا لأن نظام التشغيل مشترك ، يجب أن يكون نظام التشغيل المضيف قادرا على تشغيل الثنائيات المطلوبة. سترى هذا في بنية محرك عامل الميناء وبنية الصورة التي تريد تشغيلها، يجب أن تكون متوافقة:
$ docker system info --format '{{.OSType}} {{.Architecture}}'linux x86_64$ docker image inspect busybox --format '{{.Os}} {{.Architecture}}'linux amd64
إذا حاولت تشغيل بنية غير متوافقة مع المضيف الخاص بك ، سوف تحصل على خطأ لأنه لم يتم التعرف على شكل ثنائي من قبل النواة:
$ docker image pull --platform arm64 busybox:latestlatest: Pulling from library/busyboxacafde7ce2e7: Pull completeDigest: sha256:2a03a6059f21e150ae84b0973863609494aad70f0a80eaeb64bddd8d92465812Status: Downloaded newer image for busybox:latest$ docker run -it --rm busybox:latest echo hellostandard_init_linux.go:190: exec user process caused "no such file or directory"
إصدارات سطح المكتب من عامل الميناء ، وإصدار ويندوز سيرفر من عامل الميناء ، وتشمل فم لينكس تحت الأغطية لتشغيل حاويات لينكس (حاويات لينكس هي بيئة الحاويات المهيمنة ، لذلك عامل الميناء ينفذ هذا باستخدام لينوكسكيت ، لتبسيط سير العمل المطور). ويندوز ، هناك مفتاح في المحرك لاستخدام فم لينكس أو تشغيل حاويات ويندوز الأصلية.
ومع ذلك ، دوكر ليس لديها فم جزءا لا يتجزأ من ويندوز لتشغيل الثنائيات الخاصة بهم على مضيف لينكس (منذ ويندوز ليست مفتوحة المصدر ، وسوف تتطلب الترخيص), لذا فإن الطريقة الوحيدة لتشغيل حاويات ويندوز الأصلية هي على مضيف ويندوز.
باختصار وببساطة: لا
الحاويات هي حول النواة / نظام التشغيل الافتراضية.
إنها مجموعة من العمليات التي تقوم بتشغيلها بشكل واضح في مضيفات الحاوية التي تشترك في النواة. إذا كان هذا المضيف الحاوية هو لينكس ديمون فإنه لا يمكن مشاركة نواة ويندوز ، والتي تحتاج صورة نانوسيرفر