Я использую Docker в Windows, и когда я попытался получить изображение PHP с помощью этой команды
$ docker pull php
Я получил это сообщение:
Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64
in the manifest list entries
Как я могу решить эту проблему?
Ответы:
У меня была такая же проблема в Windows 10. Я обошел ее, запустив демон Docker в экспериментальном режиме:
"experimental": true
источник
--experimental
функцииПричин этой ошибки может быть много. Но наиболее очевидная причина этой ошибки - использование контейнера Windows в режиме контейнера Linux или наоборот.
источник
Вы находитесь в режиме контейнера Windows. Поэтому, если вы не уверены, что образ, который вы хотите получить, создан для архитектуры Windows , вам нужно переключиться на контейнеры Linux.
источник
Еще один возможный способ сделать это:
В системном трее щелкните правой кнопкой мыши значок докера, затем нажмите
Switch to Linux containers
.(Docker для Windows, Community Edition, версия 18.03.1)
источник
В моем случае это была версия ОС Windows, на которой я работал, не поддерживала тег, который я пытался извлечь. Использование старого тега позволило мне заставить это работать.
В частности:
docker pull mcr.microsoft.com/windows/nanoserver:1903
Erroreddocker pull mcr.microsoft.com/windows/nanoserver:1803-amd64
работалисточник
Версия: Windows 10
Шаг 1: Щелкните правой кнопкой мыши экземпляр Docker и перейдите в Настройки
Шаг 2: от базового до расширенного и установка «экспериментального»: правда
Шаг 3: Перезапустите Docker
Шаг 4: Установка dockerfile прошла успешно (например, сборка docker -t williehao / cheers2019.)
источник
Сначала вам нужно использовать платформу Linux, а затем запустить на Windows:
Смотрите сообщение в блоге Docker для Windows Desktop 18.02 с обновлением Windows 10 Fall Creators .
источник
--platform
флаг тоже работает. Хотя это может перезагружать вещи.Я решил это в Windows 10, запустив администратор Powershell:
А потом:
источник
Рассмотрим приложения, которые вы тянете - они основаны на Windows? Если нет, вам нужно запустить контейнер Linux.
Без использования экспериментального режима, вы можете использовать Docker только в одном стиле контейнера против другого. Если вы активируете экспериментальный режим, как упомянуто выше, вы можете использовать контейнеры Windows и Linux, как того требуют приложения, которые вы загружаете в файл compose.
Ключевое примечание: экспериментальный - все еще в разработке Docker.
источник
Это может произойти не только из-за контейнеров с окнами!
Сегодня все образы док-станции Node.Js не обрабатываются. Всегда проверяйте изображение, которое вы пытаетесь нарисовать раньше.
Связанный Github-Issue
источник
Это выглядит как «тянуть докер» не в Windows 10 # 1100
Если добавление
--experimental
не работает, рассмотрите переустановки Docker для Windows .источник
experimental
работает, спасибо ... Почему это так?Я получал эту ошибку в своем конвейере Azure DevOps.
Проблема была в том, что я выбрал Hosted VS2017 вместо Hosted Ubuntu . После изменения так же, как показано ниже, сборка прошла успешно.
Надеюсь, поможет.
источник
Докер запуска mcr.microsoft.com/windows/servercore:ltsc2016
попробуйте приведенную выше команду. то, что вы тянете, должно быть совместимо с базовой версией Windows, в которой вы находитесь. выше будет работать, если вы находитесь в Windows Server 2016.
следуйте этой теме для получения дополнительной информации
https://github.com/docker/for-win/issues/3761
источник
Щелкните правой кнопкой мыши на экземпляре Docker. Перейдите в раздел «Настройки». Демон «Дополнительно». Установите «экспериментальный»: true. Перезапустите Docker.
источник
Устаревший тег «последний»
Мы осуждаем тег «последний» во всех наших базовых образах Windows, чтобы способствовать улучшению практики работы с контейнерами. В начале 2019 календарного года мы больше не будем публиковать тег ; Мы выдернем его из списка доступных тегов.
Мы настоятельно рекомендуем вместо этого объявить конкретный тег контейнера, который вы хотели бы запустить в производстве. Тег «последний» является противоположностью конкретного; он ничего не говорит пользователю о том, какая версия контейнера на самом деле отличается от имени изображения. Вы можете узнать больше о совместимости версий и выбрать соответствующий тег в нашей документации по контейнерам .
https://techcommunity.microsoft.com/t5/containers/windows-server-2019-now-available/ba-p/382430#
источник
У меня была такая же проблема, чтобы запустить образ Windows IIS с помощью Docker для Windows. Читая ответ Мохаммеда Трабелси выше, я понял, что для решения моей проблемы мне нужно было переключить свои контейнеры (в докере) на контейнеры Windows.
Сделать это:
источник
В Windows вы должны отредактировать файл daemon.json или windows-daemon-options.json, расположение файла конфигурации по умолчанию в Windows:% programdata% \ docker \ config \ daemon.json или% programdata% \ docker \ resources \ windows -daemon-options.json
Необязательные параметры поля в файле json позволяют пользователям включать или отключать определенные функции демона. Пример: {"features": {"buildkit": true}} включает buildkit в качестве сборщика образов докера по умолчанию.
источник
Причина, по которой он показывает это сообщение, потому что он не может найти контейнеры Linux как работающие. Поэтому перед запуском убедитесь, что вы переключаетесь с Windows на контейнеры Linux.
источник
Для меня это из-за отказа в доступе к C: \ ProgramData \ Docker \ config \ daemon.json После того, как я это исправил, теперь он работает. Вы можете попробовать переключиться на контейнеры Linux и вернуться обратно. Если с переключением проблем нет, то он работает с правами доступа.
источник
В моем случае мне пришлось сначала обновить Windows , после этого проблема ушла.
источник