Как сделать прокси для внутренних репозиториев Nexus Docker?

Мы развернули Sonatype Nexus 3 для использования в качестве нашего внутреннего репозитория артефактов, и он работает ОТЛИЧНО ... Теперь, когда мы завершили проверку концепции в нашей промежуточной среде, мы развернули 2 дополнительных сервера Nexus в некоторых из наших удаленных сетей, чтобы уменьшить использование полосы пропускания в глобальной сети. Итак, на «спутниковых» серверах Nexus я создал репозиторий Proxy Docker, который предназначен для прокси-сервера нашего основного сервера Nexus. Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь вытащить образ контейнера из одного из спутниковых репозиториев Nexus, он не может найти ни один из контейнеров. Когда я вместо нас docker search, я вижу контейнеры, но они указаны под неправильным именем хоста !!

docker search --limit 50 satellite.mycompany.com/mycontainer
NAME                                                 DESCRIPTION   STARS      OFFICIAL   AUTOMATED 
primary.mycompany.com/mycontainer:0.0.1                            0
primary.mycompany.com/mycontainer:0.0.2                            0
primary.mycompany.com/mycontainer:0.0.3                            0
primary.mycompany.com/mycontainer:0.0.4                            0
primary.mycompany.com/mycontainer:latest                           0

Кто-нибудь знает, как я могу это решить?


person Deven Phillips    schedule 10.08.2016    source источник


Ответы (1)


В недавнем выпуске 3.0.2-02 эта проблема решена. Вы можете поместить URL-адрес репозитория, как показано на основном сервере Nexus, в качестве удаленного хранилища:

http(s)://<nexus host>/repository/<docker repo>

Затем настройте все, как вы ожидаете, и все заработает. Единственным исключением является то, что «поиск» через docker search покажет тег имени хоста из вышестоящего репозитория. Например:

docker search satellite.docker.mycompany.com/my-image

вернусь:

primary.docker.mycompany.com/my-image

Однако Docker pull работает отлично.

person Deven Phillips    schedule 26.09.2016