Настройка docker proxy репозитория в Nexus

Sonatype Nexus
Sonatype Nexus

Иногда бывают ситуации, когда выход в интернет из локальной сети заблокирован, и есть доступ только к нескольким машинам в ДМЗ. При этом существует необходимость работать со всем нужным инструментарием и docker образами.

В этом случае на помощь приходит Nexus и настроенные на нём Proxy репозитории.

В таком случае после несложной настройки docker на самой машине обращения при docker pull отправляются не к заблокированному в локальной сети docker.io, а к вполне доступному nexus, который в свою очередь уже скачает все слои образа и отдаст вам.

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

Для тех кто упустил — статья по разворачиванию Nexus доступна по этой ссылке: Установка Sonatype Nexus в docker

Перейдем к настройке.

Для начала создаем новый репозиторий docker (proxy)

Даллее по списку:

  • Устанавливаем флаг HTTP и указываем желаемый порт
  • Устанавливаем флаг «Allow anonymous docker pull»
  • Устанавливаем флаг «Enable Docker V1 API»
  • В поле Remote storage указываем: https://registry-1.docker.io
  • Docker Index: устанавливаем в положение «Use Docker Hub»
  • Устанавливаем флаг «Allow Nexus Repositpry Manager to download and cache foreign layers»
  • Выбираем хранилище Blob Store
  • Остальные параметры можно оставить «по умолчанию»

В результате должно получиться примерно вот так:

Нажимаем кнопку «Create repository»

Далее переходим к настройке самой машины:

Редактируем файл /etc/docker/daemon.json, если такого нет — то создайте:

{
        "insecure-registries": ["10.205.0.6:5005"],
        "registry-mirrors": ["http://10.205.0.6:5005"]
}
daemon.json

Сохраняем и перезапускаем docker, что бы изменения применились:

systemctl restart docker

Проверяем работу:

docker pull rabbitmq

И проверяем что данные также появились в Nexus, посмотрев что происходит в прокси репозитории:

Всё работает. Говорим начальству что мы молодцы, просим повысить з\п.

1 уведомление

  1. Nexus docker proxy за Nginx reverse proxy - Sysadmin talks

Отправить ответ

Ваш e-mail не будет опубликован.


*