Установка Nexus и создание Docker-репозитария на Ubuntu16

Установка Java

 

Установка Nexus

Логи смотрим в

Настройка ротации логов Nexus

Установка Nginx

Настройка проксирования Nginx на Nexus

 

Перевод Nexus на localhost

Логи смотрим

 

Настройка поддержки SSL

Установка Certbot

Получение SSL-сертификата

Настройка SSL-поддержки в виртуальным хосте Nginx для Nexus

Настройка автопродления сертификатов

 

Настройка Nexus-сервера
Для аутентифкаиции в WEB-интерфейсе используется логин/пароль admin/admin123

Общий подход по доступу к менеджеру репозитариев Nexus состоит в установке перед Nexus обратного прокси-сервера,который принимает HTTPS-запросы от клиента, обрабатывая SSL/TLS соединение с клиентом, терминирует SSL/TLS и уже HTTP запрос отправляет на Nexus, после чего получает HTTP-ответ от Nexus пересылает его через HTTPS непосредственно клиенту
Альтернатитвным вариантом может быть непосредственная настройка Nexus-сервера на поддержку SSL/TLS средствами самого Nexus-сервера(без использования обратного прокси-сервера вообще)
https://help.sonatype.com/repomanager3/security/configuring-ssl#ConfiguringSSL-InboundSSL-ConfiguringtoServeContentviaHTTPS

В данном случае рассмотрим вариант с использованием Nginx в качестве обратного прокси-сервера(SSL/TLS-терминатора)

Cоздадим в Nexus Docker-репозитарий и получим к нему доступ

 

Создание Docker-репозитария и пользователя с доступом к этому репозитарию

В WEB-интерфейсе Nexus создаем
а) репозитарий Docker (hosted)

Остальные параметры оставляем по умолчанию

б) пользователя

Рассмотрим первый вариант доступа в Docker-репозитарий через SSL/TLS-соединение (с помощью Nginx-проксирования)

Получение сертификата и настройка вирт.хоста Nginx для Docker-репозитария
В Nginx будет использоваться отдельный вирт.хост docker.mydomain.com для перенаправления запросов на Docker-репозитарий
т.к. Nexus был переведен нами на прослушивание запросов только на localhost, то порт Docker-репозитария(8082) также будет доступен только на localhost
Нас это устраивает т.к. мы будем проксировать на него запросы с Nginx,который также лоакально установлен на сервере с Nexus.

Получение сертификата для докер.вирт. хоста в Nginx(docker.mydomain.com)

Настройка вирт.хоста Nginx для Docker-репозитария

Запросы проксируем на порт,указанный при создании Docker-репозитария(8082)

Проверка доступности Docker-репозитария

Подключаемся к Docker-репозитарию

Как видно из листинга, доступы к репозитарию сохраняются в файле

и они будут использоваться при последующих подключениях к указанному репозитарию docker.mydomain.com

Рассмотрим второй вариант доступа в Docker-репозитарий (без SSL/TLS-соединения(как на стороне прокси-сервера, так и средствами самого Nexus-репозитария), напрямую подключаясь к порту, на котором запущен Docker-репозитарий)

1. Разрешить в файрволле порт 8082(на который настроен/создан коннектор при создании репозитария Docker в Nexus)

2.Проверить/настроить Nexus на прослушивание запросов на всех интерфейсах(это настройка по умолчанию)(если перенастраивали Nexus на localhost, то перенастроить назад(просто закомментировать строку application-host=127.0.0.1 в файле /opt/sonatype-work/nexus3/etc/nexus.properties)

3.Перезапустить Nexus(если изменяли файл /opt/sonatype-work/nexus3/etc/nexus.properties)

Подключаться будем к Docker-репозитарию по имени Nexus-сервера(nexus.mydomain.com) на порт Docker-репозитария(8082)
Проверка доступности Docker-репозитария (порт 8082, имя сервера nexus.mydomain.com)

Попытка залогиниться на Docker-репозитарий, который не поддерживает HTTPS

По умолчанию Docker разрешает только SSL-подключение/общение между клиентом и репозитарием Docker. Для разрешения подключению по небезопасному протоколу(HTTP) к Docker-репозитарию, добавляем на Docker-клиенте разрешение на небезопсное подключение к нашему Docker-серверу

Перезапускаем докер и проверяем успешное подключение

Скачаем образ с официального Docker-сервера и загрузим его на наш приватный Docker-репозитарий

Проверим наличие образа в репозитарии

Проверим также доступность образа через HTTPS-подлючение(через Nginx-прокси вирт.хост docker.mydomain.com)

Удалим образ и загрузим его с нашего приватного репозитария

Также загрузим этот же образ,но через HTTPS-соединение(docker.mydomain.com)

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика