Docker - "windows" sistem operasi image tidak dapat digunakan pada platform ini


90

Saya mencoba ini di mesin Windows 10 saya:

Dockerfile:

From microsoft/nanoserver
CMD ["echo", "Hello World"]

PS

C:\FSD\Docker\Trial1> docker build -t lea/leatest .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM microsoft/nanoserver
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer
58f68fa0ceda: Pulling fs layer
image operating system "windows" cannot be used on this platform

1
Sepertinya lingkungan Docker Anda saat ini disiapkan untuk menggunakan container Linux, bukan container Windows.
Dan Lowe

Apa pertanyaannya?
Peter Mortensen

Jawaban:


127

Host Docker Anda dikonfigurasi untuk menjalankan container Linux di dalam VM. Untuk menjalankan container Windows, Anda perlu "Beralih ke container Windows" di menu Docker. Dokumentasi tentang itu tersedia di sini .


Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini


1
Saya benar-benar baru mengenal Docker, dan untuk siapa pun Anda perlu menemukan ikon Docker ** mini ** di toolbar, klik kanan lalu pilih "Beralih ke wadah Windows" di menu Docker. Ingatlah bahwa Anda perlu mereboot workstation Anda untuk menyelesaikan prosesnya.
arame3333

1
Untuk apa itu layak saya hanya beralih ke wadah windows dan saya tidak perlu reboot atau apa pun. (Docker versi 17.12.0-ce, build c97c6d6)
mat007

Dapatkah Anda menjalankan container Windows dan Linux secara bersamaan di mesin Windows 10 yang sama?
styfle

@styfle Di atas adalah toggle, Anda hanya dapat melakukannya satu per satu. Ada sudah bekerja untuk memungkinkan memilih runtimes berbeda sehingga Anda bisa menggunakan kedua secara bersamaan: blogs.msdn.microsoft.com/premier_developer/2018/04/20/...
BMitch

1
Saya telah menginstal buruh pelabuhan di Windows menggunakan Docker toolbox, saya tidak melihat ikon buruh pelabuhan di baki sistem. Bagaimana saya bisa melakukannya?
paul

27

Anda harus pergi ke Taskbar → klik kanan ikon Docker → gunakan opsi Switch to Windows containers ...

Sumber https://docs.docker.com/docker-for-windows/

Masukkan deskripsi gambar di sini


Saya telah menginstal buruh pelabuhan di Windows menggunakan Docker toolbox, saya tidak melihat ikon buruh pelabuhan di baki sistem. Bagaimana saya bisa melakukannya?
paul

@paul Saya khawatir solusi ini untuk Docker untuk Windows bukan Toolbox. Hanya untuk menambahkan Docker untuk Windows adalah perangkat lunak yang disarankan melalui Toolbox mengenai antarmuka (seperti opsi wadah Windows yang disebutkan)
pbaranski

Docker for Windowslebih disukai daripada Docker Toolbox? Kenapa begitu?
paul

@paul Hanya menyampaikan tanggapan staf buruh pelabuhan di sini: forums.docker.com/t/docker-for-windows-or-docker-toolbox/30387 , untuk kontradiksi saya akan menambahkan sumber daya ini: medium.com/short-stories-on- software /… jadi Anda perlu memutuskan tergantung pada penilaian Anda: D
pbaranski

5

microsoft/nanoserveradalah gambar container asli windows. Jadi Anda tidak dapat menjalankan ini karena kontainer linux berjalan secara native. Ini hanya dapat dijalankan di windows 10 atau windows server.

Jika Anda berada di windows 10, Anda dapat beralih ke windows containers dengan memilih

beralih ke wadah jendela


2

Beralih ke Windows Container harus dipilih dari ikon buruh pelabuhan yang berjalan di bawah ikon tersembunyi dari kanan bawah ... Saat Anda beralih dari Linux ke Windows atau Windows ke Linux , Dockerdaemon secara otomatis memulai ulang untuk mempertimbangkan penampung yang dialihkan ...


Saya akan sangat menyarankan Anda untuk melihat 2 tautan ini untuk mendapatkan lebih banyak wawasan tentang cara membuat penampung jendela:


Saya benar-benar menemukan konten dari tautan ini sangat membantu untuk membuat wadah jendela yang masih ditingkatkan untuk masalah umum yang kita semua hadapi karena dukungan untuk wadah jendela belum matang seperti wadah Linux!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.