创建存储库并将工件上传到Nexus3 Docker容器

时间:2018-11-12 12:01:58

标签: docker docker-compose sonatype nexus3

这基本上是一个分为两个部分的问题。

首先,我想知道在容器启动后如何在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'

(当容器准备好后,当我通过诸如邮递员之类的应用程序手动发送上述卷曲请求时,它们就会起作用。我只是不确定如何让docker为我做这件事)

第二,我想知道如何将工件移动到新创建的存储库中。 nexus3映像上是否有一个我可以执行一个COPY命令并将所需的工件复制到存储库的位置?

下面是我的docker-compose.yml

的一部分
version: "2.1"
services: 
    nexus:
        container_name: nexus-container
        image: sonatype/nexus3
        ports:
            - "8081:8081"

这只是整个文件的一部分,因为整个文件要大一些,所以我不想发布整个内容,但是我可以在需要时发布。

感谢您提供的任何帮助:)

1 个答案:

答案 0 :(得分:0)

工作目录应位于永久性存储中,因此您无需在每次启动时都重新创建配置。

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

也就是说,如果您确实需要执行此操作,则可以通过脚本/配置API来完成:

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