Saya menggunakan Docker di Windows, dan ketika saya mencoba menarik gambar PHP dengan perintah ini
$ docker pull php
Saya mendapat pesan ini:
Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64
in the manifest list entries
Bagaimana saya bisa memperbaiki masalah ini?
Jawaban:
Saya memiliki masalah yang sama pada Windows 10. Saya memintasinya dengan menjalankan daemon Docker dalam mode eksperimental:
"experimental": true
sumber
--experimental
fitur penggunaan biner mandiriMungkin ada banyak alasan untuk kesalahan ini. Tetapi alasan paling jelas untuk kesalahan ini adalah menggunakan Windows Container di Linux Container Mode atau sebaliknya.
sumber
Anda berada dalam mode wadah Windows. Jadi, jika Anda tidak yakin bahwa gambar yang ingin Anda tarik dibuat untuk arsitektur Windows , Anda perlu beralih ke wadah Linux.
sumber
Cara lain yang memungkinkan untuk melakukan ini:
Di baki sistem, klik kanan pada ikon buruh pelabuhan, lalu klik
Switch to Linux containers
.(Docker untuk Windows, Edisi Komunitas, versi 18.03.1)
sumber
Dalam kasus saya, versi OS Windows yang saya gunakan tidak mendukung tag yang saya coba tarik. Memanfaatkan tag yang lebih lama memungkinkan saya membuatnya berfungsi.
Secara khusus:
docker pull mcr.microsoft.com/windows/nanoserver:1903
salahdocker pull mcr.microsoft.com/windows/nanoserver:1803-amd64
bekerjasumber
Versi: Windows 10
Langkah 1: Klik kanan instance Docker dan Buka Pengaturan
Langkah 2: Dasar ke Lanjutan dan mengatur "eksperimental": true
Langkah 3: Mulai Ulang Docker
Langkah 4: Untuk menginstal dockerfile berhasil (mis: membangun docker -t williehao / cheers2019).
sumber
Anda harus menarik dengan platform Linux terlebih dahulu, kemudian Anda dapat berjalan di Windows:
Lihat posting blog Docker untuk Windows Desktop 18.02 dengan Pembaruan Windows 10 Fall Creators .
sumber
--platform
benderanya juga berfungsi. Meskipun mungkin mengunduh ulang barang.Saya memecahkan ini di Windows 10 dengan menjalankan admin Powershell:
Lalu:
sumber
Pertimbangkan aplikasi yang Anda tarik - apakah itu berbasis Windows? Jika tidak, Anda harus menjalankan wadah Linux.
Tanpa menggunakan mode eksperimental, Anda hanya dapat menggunakan Docker dalam satu gaya wadah vs yang lain. Jika Anda mengaktifkan mode eksperimental seperti yang disebutkan di atas, Anda dapat menggunakan wadah Windows dan Linux seperti yang diperlukan oleh aplikasi yang Anda tarik dalam file penulisan.
Catatan kunci: Eksperimental - masih dalam pengembangan oleh Docker.
sumber
Ini mungkin tidak hanya terjadi karena wadah windows!
Hari ini semua gambar docker Node.Js tidak dapat ditarik. Selalu periksa gambar yang ingin Anda tarik sebelumnya.
Github-Issue terkait
sumber
Ini seperti "docker pull" gagal di windows 10 # 1100
Jika menambahkan
--experimental
tidak berhasil, pertimbangkan untuk menginstal ulang buruh pelabuhan untuk windows .sumber
experimental
karya, terima kasih ... Kenapa begitu?Saya mendapatkan kesalahan ini dalam pipa Azure DevOps saya.
Masalahnya adalah saya telah memilih Hosted VS2017, bukan Ubuntu Hosted . Setelah mengubah sama seperti berikut, build itu berhasil.
Semoga ini bisa membantu.
sumber
buruh pelabuhan menjalankan mcr.microsoft.com/windows/servercore:ltsc2016
coba perintah di atas. apa yang Anda tarik harus kompatibel dengan versi windows yang mendasari Anda masuk. di atas akan berfungsi jika Anda berada di windows server 2016.
ikuti utas ini untuk info lebih lanjut
https://github.com/docker/for-win/issues/3761
sumber
Klik kanan Docker instance. Buka Pengaturan Daemon Advanced. Atur "eksperimental": true Restart Docker
sumber
Mengecewakan tag 'terbaru'
Kami mencabut tag 'terbaru' di semua gambar dasar Windows kami untuk mendorong praktik wadah yang lebih baik. Di awal tahun kalender 2019, kami tidak akan lagi menerbitkan tag ; Kami akan menariknya dari daftar tag yang tersedia.
Kami sangat menyarankan Anda untuk mendeklarasikan tag wadah khusus yang ingin Anda jalankan dalam produksi. Tag 'terbaru' adalah kebalikan dari spesifik; itu tidak memberi tahu pengguna apa pun tentang versi wadah yang sebenarnya terpisah dari nama gambar. Anda dapat membaca lebih lanjut tentang kompatibilitas versi dan memilih tag yang sesuai pada dokumen kontainer kami .
https://techcommunity.microsoft.com/t5/containers/windows-server-2019-now-available/ba-p/382430#
sumber
Saya memiliki masalah yang sama untuk menjalankan gambar Windows IIS menggunakan buruh pelabuhan untuk Windows. Membaca respons Mohammad Trabelsi di atas, saya menyadari bahwa untuk menyelesaikan masalah, saya harus mengganti wadah (pada buruh pelabuhan) untuk wadah Windows.
Untuk melakukan ini:
sumber
Pada Windows Anda harus mengedit file daemon.json atau windows-daemon-options.json, lokasi default file konfigurasi pada Windows adalah% programdata% \ docker \ config \ daemon.json atau% programdata% \ docker \ resources \ windows -daemon-options.json
Fitur bidang opsional pada file json, memungkinkan pengguna untuk mengaktifkan atau menonaktifkan fitur daemon tertentu. Contoh: {"fitur": {"buildkit": true}} memungkinkan buildkit sebagai pembuat gambar buruh pelabuhan default.
sumber
Alasannya menampilkan pesan ini karena tidak dapat menemukan wadah Linux berjalan. Jadi, pastikan Anda beralih dari windows ke wadah linux sebelum menjalankannya.
sumber
Bagi saya, itu karena akses ditolak ke C: \ ProgramData \ Docker \ config \ daemon.json Setelah saya memperbaikinya sekarang berfungsi. Anda dapat mencoba beralih ke wadah Linux dan beralih kembali. Jika tidak ada masalah dengan peralihan, maka itu berfungsi dengan izin akses.
sumber
Dalam kasus saya, saya harus memperbarui windows terlebih dahulu, setelah itu masalahnya hilang.
sumber