Создание репозитория и загрузка артефактов в док-контейнер Nexus3 - PullRequest
0 голосов
/ 12 ноября 2018

Это в основном вопрос из двух частей.

Сначала я хотел бы узнать, как бы я создал новый репозиторий в контейнере Nexus3 после запуска контейнера.Я знаю грубую схему того, что должно быть сделано, я просто не знаю, как это сделать.По сути, два запроса cURL должны быть отправлены в контейнер ПОСЛЕ его готовности.Запросы cURL выглядят следующим образом:

curl -X POST -u admin:admin123 --header 'Content-Type: application/json' \
http://127.0.0.1:8081/service/rest/v1/script \
-d '{"name":"newrepo","type":"groovy","content":"repository.createMavenHosted('\''new-repo'\'');"}'

curl -X POST -u admin:admin123 --header "Content-Type: text/plain" 'http://127.0.0.1:8081/service/rest/v1/script/newrepo/run'

(Приведенные выше запросы curl работают, когда я вручную отправляю их через приложение, такое как Postman ПОСЛЕ того, как контейнер готов. Я просто не уверен, как заставить Docker сделать это дляя)

Во-вторых, я хотел бы знать, как переместить артефакты во вновь созданный репозиторий.Есть ли место на образе nexus3, где я могу просто выполнить команду COPY и просто скопировать необходимые артефакты в хранилище?

Ниже приведена часть моего docker-compose.yml

version: "2.1"
services: 
    nexus:
        container_name: nexus-container
        image: sonatype/nexus3
        ports:
            - "8081:8081"

Это всего лишь часть всего файла, так как весь файл немного больше, поэтому я не хотел публиковать все это, ноЯ могу сделать это при необходимости.

Спасибо за любую оказанную помощь:)

1 Ответ

0 голосов
/ 05 декабря 2018

Рабочий каталог должен находиться в постоянном хранилище, поэтому вам не нужно пересоздавать конфигурацию при каждом запуске.

https://github.com/sonatype/docker-nexus3#persistent-data

Тем не менее, если вам действительно нужно это сделать, это можно сделать через API сценариев / инициализации:

https://github.com/sonatype/docker-nexus3#persistent-data

...