【问题标题】:Creating a repository and uploading artifacts to a Nexus3 docker container创建存储库并将工件上传到 Nexus3 docker 容器
【发布时间】:2019-04-15 03:36:54
【问题描述】:

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

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

(当我在容器准备好之后通过 Postman 等应用手动发送上述 curl 请求时,它们会起作用。我只是不确定如何让 docker 为我做这件事)

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

以下是我docker-compose.yml的一部分

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

这只是整个文件的一部分,因为整个文件有点大,因此我不想发布整个内容,但如果需要我可以这样做。

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

【问题讨论】:

  • 不清楚你想要达到什么。为什么容器启动后不能创建 repo? (例如通过 UI)
  • 要求一旦容器启动就应该创建存储库
  • 不能达到要求吗? @亨利

标签: docker docker-compose sonatype nexus3


【解决方案1】:

工作目录应该在持久存储上,因此您不需要在每次启动时重新创建配置。

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

也就是说,如果您确实需要这样做,可以通过脚本/配置 API 来完成:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-23
    • 2013-07-09
    • 2017-04-23
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多