Можно ли настроить Docker так, чтобы он искал образы в моем реестре, не указывая имя реестра?

Можно ли настроить Docker так, чтобы он искал образы в моем реестре, не указывая имя реестра?

Я настроил реестр docker и отправил hellodockerв него проект с именем. На другой машине я вошел в свой реестр, но когда я пытаюсь выполнить pull, мне приходится использовать полное имя: mydockerregistry.com/hellodocker.

Есть ли способ настроить Docker так, чтобы он включил мой реестр в качестве места, откуда он может загружать образы Not Found?

решение1

Я бы не рекомендовал его для этой цели, но вы можете настроить docker engine с настройкой зеркала реестра. Из dockerdCLI это --registry-mirrorфлаг. Или в /etc/docker/daemon.json вы можете установить:

{ "registry-mirrors": ["https://mydockerregistry.com"] }

При настройке daemon.json вам нужно будет перезагрузить движок docker после применения изменения. В графическом интерфейсе рабочего стола это опция на экране. Из Linux вы запустите systemctl reload docker.

Здесь есть две оговорки:

  1. Сначала опрашивается зеркало реестра, затем опрашивается восходящий docker-концентратор на предмет образа при любом сбое. Если зеркало отвечает плохим или старым образом, docker-движок с радостью его использует.

  2. Образы без префикса репозитория берутся из библиотеки Docker, и будет выполнен поиск зеркала, mydockerregistry.com/library/hellodockerа не mydockerregistry.com/hellodocker. Поэтому вам нужно:

    docker tag hellodocker:latest mydockerregistry.com/library/hellodocker:latest
    docker push mydockerregistry.com/library/hellodocker:latest
    

У меня есть презентация по зеркалированию и кэшированию, которая может оказаться вам полезной по адресу:

Связанный контент