По умолчанию, если я выдаю команду:
sudo docker pull ruby:2.2.1
по умолчанию он будет загружен с официального сайта docker.io.
Pulling repository docker.io/library/ruby
Как мне изменить его в личный реестр. Это означает, что если я выдам
sudo docker pull ruby:2.2.1
он будет извлекать из моего личного реестра, результат будет примерно таким:
Pulling repository my_private.registry:port/library/ruby
docker
docker-registry
mainframer
источник
источник
Ответы:
ОБНОВЛЕНИЕ: после вашего комментария в настоящее время невозможно изменить реестр по умолчанию, см. Эту проблему для получения дополнительной информации.
У вас должно получиться это сделать, заменив хост и порт своими:
Если сервер удален / имеет аутентификацию, вам может потребоваться войти на сервер с помощью:
Затем запускаем:
источник
docker pull <YOUR-DOMAIN>:8080/test-image
было нормально. Но я хочуdocker pull test-image
, что это без указания ДОМЕНА и порта и без входа в систему.@scopes
npm, чтобы ввести новые пространства имен без конфликта с существующими. Включение имени хоста реестра в имя образа затрудняет кеширование / проксирование / блокировку реестра внутри компании или проекта. Это хорошо это описывает: informit.com/articles/article.aspx?p=2464012&seqNum=3Оказывается, это есть на самом деле это возможно, но не с помощью подлинного Docker CE или EE версии.
Вы можете использовать форк докера Red Hat с флагом '--add-registry' или самостоятельно собрать докер из исходного кода с помощью файла registry / config.go, измененного так, чтобы использовать собственное жестко заданное пространство имен / индекс реестра по умолчанию.
источник
--add-registry
перестала работать.--block-registry index.docker.io
опцию, чтобы избавиться от реестра по умолчанию.--add-registry
Запрос тянуть было не сливались . В этой функции в конечном итоге было отказано ( # 11816 ).если вы используете дистрибутив Fedora, вы можете изменить файл
Добавление домена docker.io
источник
--add-registry
. Функция не будет принята Docker, если запрос на вытягивание не был объединен . (также в этой функции в конечном итоге было отказано ( # 11816 )Похоже, что он не будет поддерживаться из-за фрагментации, которую он создаст в сообществе (т. Е. Два пользователя получат разные изображения
ubuntu:latest
). Вам просто нужно добавить хост перед именем изображения. См. Эту проблему на github, чтобы присоединиться к обсуждению.(Обратите внимание, что это не задумано как самоуверенный комментарий, это просто очень краткое изложение обсуждения, за которым можно следить в упомянутой проблеме github.)
источник
Я попытался добавить следующие параметры в /etc/docker/daemon.json. (Я использовал CentOS7)
после этого перезапустил демон докера. И он работает без docker.io. Я надеюсь, что это кому-то будет полезно.
источник
--add-registry
Запрос тянуть было не сливались .Официальная позиция Docker изложена в выпуске №11815 :
У Red Hat была конкретная реализация, которая позволяла это (см. Anwser, но он был отклонен восходящим проектом Docker). Он полагался на
--add-registry
аргумент, который был установлен в/etc/containers/registries.conf
RHEL / CentOS 7.источник
Ранее это может быть достигнуто с использованием
DOCKER_OPTS
в/etc/default/docker
конфигурационном файле , который работал на Ubuntu 14:04 и были некоторые проблемы на Ubuntu 15:04. Не уверен, что это было исправлено.Приведенная ниже строка должна войти в файл
/etc/default/docker
на хосте, на котором работает демон докера. Точки изменения частного реестра установлены в вашей локальной сети. Примечание: вам потребуется перезапустить службу докеров с последующим изменением.источник
Я добавляю исходный ответ, данный Гаем, который все еще актуален сегодня (скоро 2020 г.).
Переопределение реестра докеров по умолчанию, как и вы
maven
, на самом деле не является хорошей практикой.При использовании
maven
вы извлекаете артефакты из Maven Central Repository через вашу локальную систему управления репозиторием, которая будет действовать как прокси. Эти артефакты представляют собой простые необработанные библиотеки (jar-файлы), и маловероятно, что вы будете отправлять jar-файлы с тем же именем.С другой стороны, образы докеров являются полностью работоспособными, запускаемыми средами, и вполне разумно извлечь образ из Docker Hub, изменить его и отправить этот образ в локальную систему управления реестром с тем же именем, потому что это точно как указано в названии, только в контексте вашего предприятия. В этом случае единственным различием между двумя изображениями будет именно его путь !!
Поэтому необходимо установить следующее правило: префикс изображения указывает его происхождение; по умолчанию, если изображение не имеет префикса, оно извлекается из Docker Hub.
источник
Не пробовали, но, может быть, перехватить процесс разрешения DNS, добавив строку
/etc/hosts
дляhub.docker.com
или что-то подобное (docker.io
?) Может сработать?источник