كيف يمكنك تشغيل حاوية عامل ميناء لينكس على ويندوز سيرفر 2016?

أحصل على:

PS C:\tmp> docker pull ubuntuUsing default tag: latestlatest: Pulling from library/ubuntuno matching manifest for windows/amd64 in the manifest list entries

الآن ، قبل أن تقول ' مكررة!'،'تأكد من انها في وضع تجريبي' ، مثل كل الإجابات الأخرى على هذا السؤال هناك ، وأنا لديك.

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

لقد قمت بتحميل بناء ليلا من عامل الميناء.

أنا قيد التشغيل في الوضع التجريبي:

PS C:\tmp> docker versionClient: Version:       master-dockerproject-2018-02-01 API version:   1.36 Go version:    go1.9.3 Git commit:    26a2a459 Built: Thu Feb  1 23:50:28 2018 OS/Arch:       windows/amd64 Experimental:  false Orchestrator:  swarmServer: Engine:  Version:      master-dockerproject-2018-02-01  API version:  1.36 (minimum version 1.24)  Go version:   go1.9.3  Git commit:   53a58da  Built:        Thu Feb  1 23:57:33 2018  OS/Arch:      windows/amd64  Experimental: true

لقد حاولت مع --platform حجة:

PS C:\tmp> docker run --platform linux ubuntuUnable to find image 'ubuntu:latest' locallyC:\Program Files\Docker\docker.exe: Error response from daemon: invalid platform: invalid platform os "linux".See 'C:\Program Files\Docker\docker.exe run --help'.

يبدو أن لدي بعض الاختلافات في docker info من جهاز سطح المكتب ويندوز 10 ، حيث يعمل كل شيء:

Containers: 0 Running: 0 Paused: 0 Stopped: 0Images: 0Server Version: master-dockerproject-2018-02-01Storage Driver: windowsfilter Windows:Logging Driver: json-filePlugins: Volume: local Network: ics l2bridge l2tunnel nat null overlay transparent Log: awslogs etwlogs fluentd gelf json-file logentries splunk syslogSwarm: inactiveDefault Isolation: process# Windows 10 value:# Kernel Version: 4.9.60-linuxkit-aufsKernel Version: 10.0 14393 (14393.2007.amd64fre.rs1_release.171231-1800)# Windows 10 values:# Operating System: Docker for Windows# OSType: linuxOperating System: Windows Server 2016 StandardOSType: windowsArchitecture: x86_64CPUs: 2Total Memory: 3.997GiBName: TestsID: ...Docker Root Dir: C:\lcowDebug Mode (client): falseDebug Mode (server): true File Descriptors: -1 Goroutines: 16 System Time: 2018-02-02T14:46:53.5608784+08:00 EventsListeners: 0Registry: https://index.docker.io/v1/Labels:Experimental: trueInsecure Registries: 127.0.0.0/8Live Restore Enabled: false

لذلك لم يتم تكوين الإصدار على خادم ويندوز لحاويات لينكس.

كيف يمكنني التغيير هذا التكوين إلى الصحيح?

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

كيف يمكنك أن تفعل كل ما هو أن يفعل, على ويندوز سيرفر?

يبدو أنك لا تعمل على ويندوز سيرفر ، الإصدار 1709. إصدار نواة ويندوز الخاص بك هو

Kernel Version: 10.0 14393 (14393.2007.amd64fre.rs1_release.171231-1800)

في حين أن إصدار النواة من 1709 هو

Kernel Version: 10.0 16299 (16299.15.amd64fre.rs3_release.170928-1534)

ويتم تقديم 1709 فقط كتثبيت أساسي للخادم. ليس لديها بيئة سطح المكتب. لذلك لن تكون قادرا على تثبيت عامل ميناء ويندوز على ذلك.

ميزة لو متوفرة فقط على 1709 وفقا ل https://blog.docker.com/2017/09/preview-linux-containers-on-windows/. لذلك سيكون عليك تجربة هذه الميزة على 1709.

عندما يعمل على 1709 ، تعرض معلومات عامل الإرساء ما يلي:

C:\Users\temp>docker infoContainers: 0 Running: 0 Paused: 0 Stopped: 0Images: 3Server Version: master-dockerproject-2018-02-10Storage Driver: windowsfilter (windows) lcow (linux) Windows: LCOW:Logging Driver: json-filePlugins: Volume: local Network: ics l2bridge l2tunnel nat null overlay transparent Log: awslogs etwlogs fluentd gelf json-file logentries splunk syslogSwarm: inactiveDefault Isolation: processKernel Version: 10.0 16299 (16299.15.amd64fre.rs3_release.170928-1534)Operating System: Windows Server DatacenterOSType: windowsArchitecture: x86_64CPUs: 4Total Memory: 16GiBName: winsvr1709ID: W4MK:WLAQ:3NCM:4TUT:CNKP:NPWC:B6TJ:VSC5:LKGU:LT4F:ZEAH:22X3Docker Root Dir: C:\ProgramData\dockerDebug Mode (client): falseDebug Mode (server): falseRegistry: https://index.docker.io/v1/Labels:Experimental: trueInsecure Registries: 127.0.0.0/8Live Restore Enabled: false

آخر بشأن كيفية تشغيل حاويات لينكس على ويندوز سيرفر: https://chunliu.me/2018/02/12/running-linux-containers-on-windows-server-2016/

يمكنك محاولة تبديل البيئة من سطر الأوامر:

& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

@أونيروي المشكلة التي ربطتها هي ويندوز 10. تشغيل عامل ميناء ويندوز على ويندوز 10 ليست مشكلة ويعمل بشكل جيد ؛ لا شيء من القرارات في تلك التذكرة ذات الصلة لسؤالي. (ستلاحظ على بلوق وظيفة مرتبطة ، ويقولون: “تحديث: دعم لو هو متاح في ويندوز 10 سقوط المبدعين التحديث وفي ويندوز سيرفر 1709. على ويندوز سيرفر 1709 ، تثبيت إي معاينة.”<<هذا هو بالضبط ما أسأل كيف أفعل.

Redirecting… يحتوي على معلومات حول كيفية تثبيت معاينة ‘عامل الميناء هه’ ، يرجى ملاحظة المحاذير ولكن كما أن هناك العديد من الميزات لاحظت في عداد المفقودين / غير معتمدة ، واسمحوا لي أن أعرف إذا كان هذا يساعد.

@أونيروي أنها لا تساعد. كما أشرت في سؤالي ، لقد فعلت كل هذه الأشياء * وأنها لا تعمل. لا توجد العديد من الميزات التي تمت ملاحظتها على أنها مفقودة / غير مدعومة ؛ لا يعمل على الإطلاق. هل حاولت فعلا? إذا كان لديك ، وأنه يعمل بطريقة أو بأخرى بالنسبة لك من فضلك * قل لي بالضبط ما فعلته والعمل على انجاحه.

يبدو أن هذه مشكلة مستمرة مع العديد من الخيارات لإصلاحها ، تحقق من ذلك "docker pull" fails in windows 10 · Issue #1100 · docker/for-win · GitHub لمزيد من التفاصيل.

@ أونيروي 1709 ليس ويندوز سيرفر 2016 وهو الإصدار 1609.