Я настроил реестр docker и отправил hellodocker
в него проект с именем. На другой машине я вошел в свой реестр, но когда я пытаюсь выполнить pull, мне приходится использовать полное имя: mydockerregistry.com/hellodocker
.
Есть ли способ настроить Docker так, чтобы он включил мой реестр в качестве места, откуда он может загружать образы Not Found?
решение1
Я бы не рекомендовал его для этой цели, но вы можете настроить docker engine с настройкой зеркала реестра. Из dockerd
CLI это --registry-mirror
флаг. Или в /etc/docker/daemon.json вы можете установить:
{ "registry-mirrors": ["https://mydockerregistry.com"] }
При настройке daemon.json вам нужно будет перезагрузить движок docker после применения изменения. В графическом интерфейсе рабочего стола это опция на экране. Из Linux вы запустите systemctl reload docker
.
Здесь есть две оговорки:
Сначала опрашивается зеркало реестра, затем опрашивается восходящий docker-концентратор на предмет образа при любом сбое. Если зеркало отвечает плохим или старым образом, docker-движок с радостью его использует.
Образы без префикса репозитория берутся из библиотеки Docker, и будет выполнен поиск зеркала,
mydockerregistry.com/library/hellodocker
а неmydockerregistry.com/hellodocker
. Поэтому вам нужно:docker tag hellodocker:latest mydockerregistry.com/library/hellodocker:latest docker push mydockerregistry.com/library/hellodocker:latest
У меня есть презентация по зеркалированию и кэшированию, которая может оказаться вам полезной по адресу: