Docker Windows Local Registry: получено непредвиденное состояние HTTP: 500 Внутренняя ошибка сервера - PullRequest
1 голос
/ 17 июня 2019

Я пытаюсь отправить образ контейнера Windows в «локальный» репозиторий на виртуальной машине Windows, который имеет собственный IP-адрес.

Поэтому, когда я создаю реестр на своей виртуальной машине, я могупосмотрите список репозиториев на моей локальной машине, перейдя на ipaddress: 5000 просто отлично.

Тем не менее, когда я пытаюсь вставить изображение в реестр, на нем отображаются слои, которые нужно перенести, но внизу написано, что получен неожиданный статус HTTP: 500 Internal Server Error.

Это не проблема, когда я переключаюсь на контейнеры Linux.Я могу нажать и вытащить из реестра без проблем.

1 Ответ

0 голосов
/ 16 июля 2019

Необходимо разрешить нераспространяемые артефакты, установив параметр "allow-nondistributable-artifacts" в файле JSON конфигурации демона.

Для Linux: Создать или обновить файл JSON демона docker с помощьювышеупомянутая опция в /etc/docker/daemon.json

Для Windows:

  1. Щелкните правой кнопкой мыши значок Докер на панели задач и выберите settings
  2. Выберите вкладку Daemon
  3. Включить Дополнительно (если отключено)
  4. Добавитьопция allow-nondistributable-artifacts в JSON Как:

    {
        "registry-mirrors": [],
        "insecure-registries": [],
        "debug": true,
        "experimental": true,
        "allow-nondistributable-artifacts": [
            "localhost:5000"
        ]
    }
    
  5. Замените localhost именем вашего собственного имени сервера.

  6. В качестве альтернативы, файл daemon.json находится в C:\ProgramData\Docker\config\daemon.json

Примечание : Если у вас есть какие-либо другие настройки, ТОЛЬКО allow-nondistributable-artifacts важно / необходимо.

...