Bagaimana Anda menjalankan wadah Docker Linux di Windows Server 2016?

Saya mendapatkan:

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

Sekarang, sebelum Anda mengatakan ' duplikat!', 'pastikan itu dalam mode eksperimental', seperti semua jawaban lain untuk pertanyaan ini di luar sana, saya memiliki.

Saya telah mengikuti instruksi pada Gambar LCOW berbasis LinuxKit, dan bahkan membaca dan mengikuti langkah-langkah untuk membuat gambar hyper-v secara manual dari Jalankan wadah Linux di Windows.

Saya telah mengunduh Build malam Docker.

Saya berjalan dalam mode eksperimental:

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

Saya telah mencoba dengan --platform argumen:

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'.

Saya tampaknya memiliki beberapa perbedaan dengan docker info dari mesin desktop Windows 10 saya, tempat semuanya berfungsi:

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

Jadi versi Pada server Windows tidak dikonfigurasi ke wadah Linux.

Bagaimana Saya perubahan konfigurasi itu ke yang benar?

Pada Docker untuk windows Anda dapat dengan mudah klik kanan pada ikon di task bar dan memilih Beralih ke wadah Linux.

Bagaimana Anda bisa melakukan apa pun yang dilakukan, di Windows Server?

Sepertinya Anda tidak berjalan di Windows Server, versi 1709. Versi kernel Windows Anda adalah

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

sedangkan versi kernel 1709 adalah

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

Dan 1709 hanya ditawarkan sebagai instalasi Server Core. Itu tidak memiliki lingkungan desktop. Jadi Anda tidak akan dapat menginstal Docker untuk Windows di dalamnya.

fitur lcow hanya tersedia pada 1709 sesuai dengan https://blog.docker.com/2017/09/preview-linux-containers-on-windows/. Jadi, Anda harus mencoba fitur ini pada 1709.

Saat berfungsi pada 1709, info buruh pelabuhan menunjukkan hal berikut:

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

Posting tentang cara menjalankan wadah Linux di Windows Server: https://chunliu.me/2018/02/12/running-linux-containers-on-windows-server-2016/

Anda dapat mencoba mengganti lingkungan dari baris perintah:

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

@ Oneiroi masalah yang Anda tautkan adalah untuk windows 10. Menjalankan docker untuk windows pada windows 10 tidak menjadi masalah dan berfungsi dengan baik; tidak ada resolusi dalam Tiket itu yang relevan dengan pertanyaan saya. (Anda akan melihat di posting blog yang ditautkan, mereka mengatakan: “pembaruan: dukungan LCOW tersedia di Windows 10 Fall Creators Update dan di Windows Server 1709. Pada Windows Server 1709, instal pratinjau EE.”<- Inilah yang saya tanyakan bagaimana melakukannya.

Redirecting… berisi informasi tentang cara menginstal Pratinjau Docker EE, harap perhatikan peringatannya karena ada beberapa fitur yang dicatat sebagai hilang / tidak didukung, beri tahu saya jika ini membantu.

@ Oneiroi itu tidak membantu. Seperti yang telah saya tunjukkan dalam pertanyaan saya, saya telah melakukan * semua hal itu* dan itu tidak berhasil. Tidak ada beberapa fitur dicatat sebagai hilang / tidak didukung; itu tidak bekerja sama sekali. Apakah Anda benar-benar mencoba? Jika Anda memiliki, dan entah bagaimana bekerja untuk Anda * tolong * katakan padaku apa yang Anda lakukan untuk membuatnya bekerja.

Ini tampaknya menjadi masalah yang sedang berlangsung dengan beberapa opsi untuk diperbaiki, periksa ini "docker pull" fails in windows 10 · Issue #1100 · docker/for-win · GitHub untuk keterangan lebih lanjut.

@ Oneiroi 1709 bukan Windows Server 2016 yang merupakan versi 1609.