Рейтинг:2

`registry-mirrors` с Harbour в качестве сквозного кеша реестра

флаг ar

Я пытаюсь настроить Harbour как сквозной реестр, связанный с концентратором Docker.

Пока мне удается вытягивать изображения, добавляя к ним префикс согласно документу, я не могу заставить его работать с помощью зеркала реестра Параметр демона Docker: такие команды, как докер вытащить mysql по-прежнему загружайте слои с docker.io.

Конфигурация клиента

Версия докера: 20.10.8

/etc/docker/daemon.log:

{
  "реестровые зеркала": ["https://harbor.example.com"]
}

Конфигурация гавани

  • Гавань v2.3.1
  • Установлено с помощью docker-compose
  • В интерфейсе гавани:
    • Реестры \ Новая конечная точка: создана конечная точка с «Docker Hub» в качестве поставщика.
    • Проекты \ Новый проект: Установить имя на прокси, отметьте «Кэш прокси-сервера» и выберите указанную выше конечную точку.

Тест 1: Вытащите изображение с префиксом:

$ docker pull harbour.example.com/proxy/library/mysql
Использование тега по умолчанию: последний
последнее: извлечение из прокси/библиотеки/mysql
33847f680f63: уже существует 
5cb67864e624: уже существует 
1a2b594783f5: уже существует 
b30e406dd925: уже существует 
48901e306e4c: уже существует 
603d2b7147fd: уже существует 
802aa684c1c4: уже существует 
715d3c143a06: Вытягивание завершено 
6978e1b7a511: Вытягивание завершено 
f0d78b0ac1be: Вытягивание завершено 
35a94d251ed1: Вытягивание завершено 
36f75719b1a9: Вытягивание завершено 
Дайджест: sha256:8b928a5117cf5c2238c7a09cd28c2e801ac98f91c3f8203a8938ae51f14700fd
Статус: загружен более новый образ для harbour.example.com/proxy/library/mysql:latest
гавань.example.com/proxy/library/mysql:последняя

Вторая последняя строка показывает, что это вытащено из моего репо, как и ожидалось.

Тест 2: вытащить изображение без префикса:

$ docker вытащить mysql
Использование тега по умолчанию: последний
последнее: извлечение из библиотеки/mysql
33847f680f63: уже существует 
5cb67864e624: уже существует 
1a2b594783f5: уже существует 
b30e406dd925: уже существует 
48901e306e4c: уже существует 
603d2b7147fd: уже существует 
802aa684c1c4: уже существует 
715d3c143a06: Вытягивание завершено 
6978e1b7a511: Вытягивание завершено 
f0d78b0ac1be: Вытягивание завершено 
35a94d251ed1: Вытягивание завершено 
36f75719b1a9: Вытягивание завершено 
Дайджест: sha256:8b928a5117cf5c2238c7a09cd28c2e801ac98f91c3f8203a8938ae51f14700fd
Статус: загружен более новый образ для mysql: последний
docker.io/библиотека/mysql: последний

Это взято из docker.io, а не из моего реестра! После команды выше я также вижу эту строку в /var/log/syslog:

11 августа 15:54:57 myhost dockerd[12663]: time="2021-08-11T15:54:57.229516951+02:00" level=info msg="Попытка следующей конечной точки для извлечения после ошибки: неизвестно: библиотека репозитория/mysql не найден"

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

Кому-нибудь удалось вытащить изображения из кеша Harbour без необходимости вручную добавлять к ним префикс?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.