Docker: "मैनिफ़ेस्ट लिस्ट प्रविष्टियों में विंडोज़ / amd64 के लिए कोई मेल नहीं है"


151

मैं विंडोज पर डॉकर का उपयोग करता हूं, और जब मैंने इस कमांड के साथ एक PHP छवि खींचने की कोशिश की

$ docker pull php

मुझे यह संदेश मिला:

Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64 
        in the manifest list entries

मैं इस समस्या को कैसे ठीक करुं?


5
दूसरों की मदद करने के लिए, मैं बेस ओएस के रूप में लिनक्स के लिए छवि बनाते समय इस त्रुटि में शामिल हो गया .... इस त्रुटि का कारण यह था कि इसे विंडोज़ कंटेनरों के लिए सेट किया गया था, तब मैंने लिनक्स कंटेनरों पर स्विच किया तो यह काम करने लगा ...
अभिषेक जैन

इसके अलावा, पश्चात के लिए: मुझे यह भवन एक विंडोज कंटेनर मिला है। भले ही मैंने विंडोज पर स्विच किया हो, ऐसा प्रतीत होता है कि लिनक्स में वापस आ गया है। इसे Windows में वापस बदलने से समस्या ठीक हो गई।
जॉन मैकइंटायर

जवाबों:


214

विंडोज 10 पर मेरा यही मुद्दा था। मैंने इसे प्रायोगिक मोड में डॉकर डेमॉन चलाकर बाईपास किया:

  1. विंडोज सिस्टम ट्रे में डॉकर आइकन पर राइट क्लिक करें
  2. सेटिंग्स में जाएं
  3. डेमॉन
  4. उन्नत
  5. ठीक "experimental": true
  6. डॉकटर को पुनः आरंभ करें

6
आप डॉकर इंस्टेंस पर राइट क्लिक कैसे करते हैं? क्या यह विंडोज के टास्क बार में डॉकर आइकन है?
पीटर मोर्टेंसन

2
@PeterMortensen यह सही है, यह टास्क बार में डॉकर आइकन है
बेंसकैबिया

पिछले उत्तरों के अलावा, मुझे अपने C: \ WINDOWS \ System32 \ driver \ etc \ hosts.etc की "रीड ओनली" विशेषता को भी हटाना था।
थिएगो कस्टोडियो

3
विंडोज पर, आप सीधे '% programdata% \ docker \ config \ daemon.json' पर कॉन्फिग फाइल का पता लगा सकते हैं और वहां की विशेषताओं को सेट कर सकते हैं।
नेमनेशन

1
यदि आप स्टैंडअलोन बाइनरी उपयोग की --experimentalसुविधा से डॉक (डेमॉन) चला रहे हैं
अनवर

91

इस त्रुटि के कई कारण हो सकते हैं। लेकिन इस त्रुटि का सबसे स्पष्ट कारण लिनक्स कंटेनर मोड या विसे वर्सा में विंडोज कंटेनर का उपयोग करना है।

  1. सिस्टम ट्रे में प्रसंग मेनू में डॉकर आइकन पर क्लिक करें
  2. "विंडो / लिनक्स कंटेनर में स्विच करें" पर क्लिक करें
  3. विकल्प स्विच डायलॉग में स्विच बटन पर क्लिक करें
  4. इसमें थोड़ा समय लग सकता है
  5. मेक श्योर डॉकर स्टेट रनिंग नाउ है

कंटेनर मोड संवाद स्विच करें


3
इसने मेरी समस्या को हल किया "विंडोज़ के लिए कोई मेल नहीं / amd64"
winlinux

1
आपको इस सवाल का जवाब देना चाहिए stackoverflow.com/questions/56005151/…
xpto

1
इसने मेरे लिए इस मुद्दे के साथ काम किया 'खिड़कियों / amd64 10.0.17134 के लिए कोई मिलान प्रकट नहीं हुआ प्रकट सूची प्रविष्टियों में
आमना

86

आप विंडोज कंटेनर मोड में हैं। इसलिए यदि आप सुनिश्चित नहीं हैं कि जिस चित्र को आप खींचना चाहते हैं वह विंडोज आर्किटेक्चर के लिए बनाया गया है , तो आपको लिनक्स कंटेनरों में जाने की जरूरत है।


1
विकल्प (जो मुझे भी काम करने के लिए मिला) चक के उत्तर में है
पीटर मॉर्टेंसन

3
इससे समस्या हल हो गई। मैं विंडोज 10 प्लेटफॉर्म का उपयोग कर रहा था।
सोमनाथचक्रवर्ती

एक बार यह स्विच करने में विफल रहता है? यह एक तरह से काम है
टियागो मेडिसी

1
यदि आप लिनक्स कंटेनरों में जाते हैं, तो क्या आप डॉकटर के भीतर विंडोज अनुप्रयोगों की मेजबानी कर पाएंगे? उदाहरण के लिए एक ही डॉकर उदाहरण पर IIS और MySQL का उपयोग करना।
वेबवार्ता

@webworm जब से विंडोज के लिए MySQL भी है, तो जब आप इसे IIS के साथ मिलाना चाहते हैं तो लिनक्स संस्करण का उपयोग क्यों करें और न केवल इसके विंडोज संस्करण का उपयोग करें?
जॉर्ज बीरबिलिस

35

ऐसा करने का एक और संभावित तरीका:

सिस्टम ट्रे में, docker आइकन पर राइट क्लिक करें, फिर क्लिक करें Switch to Linux containers

(विंडोज के लिए डॉकर, कम्यूनिटी एडिशन, संस्करण 18.03.1)


30

मेरे मामले में यह था कि मैं जिस विंडोज ओएस संस्करण पर था वह उस टैग का समर्थन नहीं करता था जिसे मैं खींचने की कोशिश कर रहा था। पुराने टैग का उपयोग करने से मुझे यह काम करने की अनुमति मिली।

विशेष रूप से:

docker pull mcr.microsoft.com/windows/nanoserver:1903 errored

docker pull mcr.microsoft.com/windows/nanoserver:1803-amd64 काम


यह! पुराने चित्रों (सर्वरकोर / नैनोसेवर) की तुलना में माइक्रोसॉफ्ट कुछ बदल गया। अब, आपको उस सिस्टम के विंडोज़ संस्करण को देखने की आवश्यकता है जिसके लिए आप अपने अनुसार आधार छवि का चयन कर रहे हैं।
जस्टकोडिंग 10

1
बहुत बहुत धन्यवाद Joedragons!
ऋषि जैन

अच्छा उत्तर! यह मेरे लिए विंडोज 10 पर इस ट्यूटोरियल docs.microsoft.com/en-us/virtualization/windowscontainers/… के
user1299379

इसने मेरे लिए भी काम किया। लेकिन क्या इसका मतलब यह है कि जब मैं हर छवि को खींचता हूं, तो मुझे यह दृष्टिकोण रखने की आवश्यकता है, उदाहरण के लिए, हैलो-वर्ल्ड?
मंड्रोइड

@ मांड्रोइड मुझे आपके निष्कर्षों में दिलचस्पी होगी लेकिन कुछ चित्र काम करने लगे और कुछ मेरे मामले में नहीं थे, इसलिए मुझे लगता है कि यह बहुत विशिष्ट है। उदाहरण के लिए यदि आपके पास एक विंडोज पैच दूसरे से भिन्न हो सकता है।
joedragons

21

संस्करण: विंडोज १०

चरण 1: डॉकर इंस्टेंस पर राइट क्लिक करें और सेटिंग्स पर जाएं
यहाँ छवि विवरण दर्ज करें

चरण 2: मूल से उन्नत और "प्रयोगात्मक" सेट करना: सत्य यहाँ छवि विवरण दर्ज करें

चरण 3: डॉकटर को पुनरारंभ करें
यहाँ छवि विवरण दर्ज करें

चरण 4: स्थापित करने के लिए dockerfile सफल है (उदा: docker build -t williehao / cheers2019) यहाँ छवि विवरण दर्ज करें


11

आपको पहले लिनक्स प्लेटफॉर्म के साथ खींचने की जरूरत है, फिर आप विंडोज पर चल सकते हैं:

docker pull --platform linux php
docker run -it php

विंडोज 10 फॉल क्रिएटर्स अपडेट के साथ विंडोज डेस्कटॉप 18.02 के लिए ब्लॉग पोस्ट डॉकर देखें ।


हां, --platformझंडा भी काम करता है। हालांकि यह सामान को फिर से डाउनलोड कर सकता है।
पीटर मोर्टेंसन

"--प्लाश्म" केवल एक डॉकर डेमॉन पर समर्थित प्रायोगिक सुविधाओं के साथ सक्षम है
मिशाल Špondr

6

मैंने इसे विंडोज़ 10 में एडमिन पॉवर्सशेल में चलाकर हल किया:

cd "C:\Program Files\Docker\Docker"

और तब:

./DockerCli.exe -SwitchDaemon

3

उन अनुप्रयोगों पर विचार करें जिन्हें आप खींच रहे हैं - क्या वे विंडोज आधारित हैं? यदि नहीं, तो आपको लिनक्स कंटेनर चलाने की आवश्यकता है।

प्रायोगिक मोड का उपयोग किए बिना, आप केवल डॉकटर को कंटेनर बनाम दूसरे की एक शैली में उपयोग कर सकते हैं। यदि आप ऊपर वर्णित प्रायोगिक मोड को सक्रिय करते हैं, तो आप विंडोज़ और लिनक्स कंटेनरों का उपयोग कर सकते हैं, जो आपके द्वारा कंपोज़ फ़ाइल में खींचे जा रहे अनुप्रयोगों के लिए आवश्यक है।

मुख्य नोट: प्रायोगिक - अभी भी डॉकटर द्वारा विकास में।


3

यह न केवल खिड़कियों के कंटेनर के कारण हो सकता है!

आज सभी Node.Js docker की छवियाँ खींचने योग्य नहीं हैं। हमेशा उस छवि की जांच करें जिसे आप पहले खींचने की कोशिश कर रहे हैं।

संबंधित गितुब-अंक


3

ऐसा लगता है कि विंडोज़ 10 # 1100 में "डॉकटर पुल" विफल हो जाता है

यदि जोड़ना --experimentalकाम नहीं करता है, तो खिड़कियों के लिए पुन: इंस्टॉल करने पर विचार करें ।


"प्रायोगिक: सच्चा" जोड़ना मेरे लिए काम नहीं करता था, इसलिए मैंने सोचा कि मैं पुनः स्थापना करने वाले से पहले लिनक्स कंटेनर में स्विच करने की कोशिश करूंगा और यह काम कर गया।
योगिकिसक

विंडोज एनवायरमेंट पर, यह भी जांचें कि क्या हाइपर-वी वर्चुअल मशीन प्रबंधन सेवा चल रही है, तो डॉकटर स्थापित करने के बाद, इसे लिनक्स कंटेनर मोड पर स्विच करें।
जूनियर मेय

जोड़ा जा रहा है experimentalकाम , धन्यवाद ... ऐसा क्यों है?
अंगशुमान अग्रवाल

@AngshumanAgarwal प्रायोगिक सुविधाओं ( docs.docker.com/docker-for-windows/#command-line ) का उपयोग करके ड्राइवर ( github.com/docker/cli/blob/master/experimental…… ) जोड़ता है, जिसे डॉकर के उपयोग के लिए आवश्यक हो सकता है खिड़कियाँ।
वॉन

मैं देखता हूं, उसके लिए धन्यवाद। लेकिन, मैं अभी भी विंडोज 10 के साथ मुद्दों को देखता हूं। डॉक्टर का कहना है कि डॉकर देशी रूप से चलता है, लेकिन, ऐसा नहीं लगता। मुझे चीजों को काम करने के लिए विंडोज 10 पर "लिनक्स कंटेनर" पर स्विच करना पड़ा।
अंशुमान अग्रवाल

2

मुझे अपनी Azure DevOps पाइपलाइन में यह त्रुटि मिल रही थी।

Step 1/7 : FROM nginx:alpine
alpine: Pulling from library/nginx
no matching manifest for windows/amd64 10.0.14393 in the manifest list entries
##[error]C:\Program Files\Docker\docker.exe failed with return code: 1
##[section]Finishing: Build an image

समस्या यह थी कि मुझे होस्टेड Ubuntu के बजाय होस्टेड VS2017 चुना गया था । निम्नानुसार बदलने के बाद, बिल्ड सफल रहा।

यहाँ छवि विवरण दर्ज करें

आशा करता हूँ की ये काम करेगा।


2

docker run mcr.microsoft.com/windows/servercore:ltsc2016

उपरोक्त आदेश का प्रयास करें। आप जो खींच रहे हैं वह अंतर्निहित विंडोज़ संस्करण के साथ संगत होना चाहिए जो कि आप ऊपर हैं यदि आप विंडोज़ सर्वर 2016 में हैं तो काम करेंगे।

अधिक जानकारी के लिए इस धागे का पालन करें

https://github.com/docker/for-win/issues/3761


2

राइट क्लिक डॉकर उदाहरण सेटिंग पर जाएं डेमन एडवांस्ड "प्रयोगात्मक" सेट करें: सच्चा पुनरारंभ डॉकटर

 {
      "registry-mirrors": [],
      "insecure-registries": [],
      "debug": true,
      "experimental": true
    }

2

'नवीनतम' टैग को दर्शाते हुए

हम बेहतर कंटेनर प्रथाओं को प्रोत्साहित करने के लिए अपने सभी विंडोज बेस छवियों पर 'नवीनतम' टैग को हटा रहे हैं। 2019 कैलेंडर वर्ष की शुरुआत में, हम अब टैग प्रकाशित नहीं करेंगे  ; हम इसे उपलब्ध टैग सूची से निकाल देंगे।

हम आपको इसके बजाय उत्पादन में चलाने के लिए विशिष्ट कंटेनर टैग घोषित करने के लिए दृढ़ता से प्रोत्साहित करते हैं। 'नवीनतम' टैग विशिष्ट के विपरीत है; यह उपयोगकर्ता को इस बात के बारे में कुछ नहीं बताता कि कंटेनर वास्तव में छवि नाम के अलावा क्या है। आप संस्करण संगतता के बारे में अधिक पढ़ सकते हैं और हमारे कंटेनर डॉक्स पर उपयुक्त टैग का चयन कर सकते हैं ।

https://techcommunity.microsoft.com/t5/containers/windows-server-2019-now-available/ba-p/382430#


1

मुझे विंडोज के लिए डॉक का उपयोग करके विंडोज आईआईएस छवि को चलाने के लिए समान समस्या थी। ऊपर मोहम्मद त्रबेल्सी की प्रतिक्रिया को पढ़कर मुझे एहसास हुआ कि मेरी समस्या को हल करने के लिए मुझे अपने कंटेनरों को विंडोज कंटेनर के लिए स्विच करने की आवश्यकता थी।

यह करने के लिए:

  1. राइट क्लिक डॉकर उदाहरण
  2. "विंडोज कंटेनर में स्विच करें ..." चुनें

1

विंडोज़ पर आपको फ़ाइल डेमन.जॉन या विंडोज़-डेमन-ऑप्शन्स.जॉन को एडिट करना चाहिए, विंडोज़ पर कॉन्फिगरेशन फ़ाइल की डिफ़ॉल्ट लोकेशन% प्रोग्रामाटा% \ docker \ config \ daemon.json या% प्रोग्रामडैट% \ _ टेकर \ रिसोर्स \ विंडोज़ है। -daemon-options.json

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

Json फ़ाइल पर वैकल्पिक फ़ील्ड सुविधाएँ, उपयोगकर्ताओं को विशिष्ट डेमॉन सुविधाओं को सक्षम या अक्षम करने की अनुमति देती हैं। उदाहरण: {"फीचर्स": {"बिल्डकिट": सच}} बिल्डकिट को डिफ़ॉल्ट डॉकटर इमेज बिल्डर के रूप में सक्षम बनाता है।


0

कारण यह संदेश दिखा रहा है क्योंकि यह लिनक्स कंटेनरों को चलाने के रूप में खोजने में असमर्थ है। इसलिए, सुनिश्चित करें कि आप इसे चलाने से पहले खिड़कियों से लेकर लिनक्स के कंटेनर तक स्विच कर लें।


0

मेरे लिए, यह C: \ ProgramData \ Docker \ config \ daemon.json के लिए अस्वीकृत होने के कारण है क्योंकि मैंने इसे ठीक करने के बाद अब यह काम करता है। आप लिनक्स कंटेनर में जाने और वापस स्विच करने का प्रयास कर सकते हैं। यदि स्विचिंग के साथ कोई समस्या नहीं है, तो यह एक्सेस अनुमति के साथ काम करता है।


0

मेरे मामले में मुझे पहले विंडोज़ को अपडेट करना था , उसके बाद समस्या चली गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.