проблема с docker pull с artifactory и Microsoft

#docker #artifactory

#docker #artifactory

Вопрос:

У меня странная проблема с docker и извлечением изображений Microsoft.

Используемая команда docker pull mcr.microsoft.com/dotnet/sdk:6.0

  • Сервер 1: нет проблем
  • Сервер 2: ответ об ошибке от демона: получить «https://mcr.microsoft.com/v2 /»: набрать tcp 13.69.64.80:443: подключиться: отказано в подключении

Оба сервера

  • за брандмауэром
  • настроен с тем же /etc/docker/ daemon .json, который указывает на внутренний экземпляр artifactory
  • такие команды, как docker pull sonarsource/sonar-scanner-cli работает на обоих серверах без проблем
  • также извлечение приватных изображений из artifactory работает на обоих серверах

есть идеи по этому поводу?

Ответ №1:

Является ли ваше удаленное репо проксированием mcr.microsoft.com и настроен ли он на кэширование внешних слоев?

Если существует локальный образ, когда клиент docker создает образ и публикует его в Artifactory, Artifactory получает манифест, но имеет ссылку на удаленные внешние слои, поэтому Artifactory не выходит и не извлекает их в локальном репозитории. Это поведение, которое мы наблюдали, по-видимому, связано с этим RTFACT-22938 Jira. Если внешние слои из базового изображения не кэшируются локально, Artifactory не будет извлекать эти слои. Для того чтобы Artifactory мог также извлекать внешние слои, все слои базового изображения должны быть кэшированы в Artifactory.

Поскольку Microsoft постоянно изменяет теги изображений, а манифест меняется, извлеченные слои использоваться не будут, поскольку на них больше нет ссылок в манифесте. Повторная пометка изображений пользовательскими тегами может быть одним из способов избежать этой ситуации.