【问题标题】:Sonatype Nexus3 docker image - How to setup an internal docker repositorySonatype Nexus3 docker image - 如何设置内部 docker 存储库
【发布时间】:2017-04-23 15:07:14
【问题描述】:

有人有过设置的经验吗? Https 需要在 sonatype/nexus3 配置中启用,但文件是只读的。如何在无需使用 nexus3 映像进行 docker 构建的情况下对其进行编辑? 我可以在容器内以 root 身份登录吗?

【问题讨论】:

    标签: docker repository containers sonatype nexus3


    【解决方案1】:

    $ docker run -d -p 8081:8081 您是否将端口映射到主机和 docker 容器。

    您可以在容器中登录

               ```docker exec -it $container_id /bin/bash```
    

    【讨论】:

    • 是的,我已经映射了 8081,可以登录到 nexus UI 并配置 docker hub 代理和托管的 docker repo。我已经设置了所需的 https 端口并将它们映射到暴露的 docker 端口,即暴露的 61100:61100。
    • 我也登录了,但没有 root 访问权限,我无法修改任何配置文件以启用 https(托管 docker repos 所需)
    • 一个 docker 容器总是以 root 用户运行。你知道容器中的配置文件在哪里吗?如果你知道的话,你可以使用 -v 将卷映射到该路径并放置你的配置。它将替换内部文件。
    【解决方案2】:

    我们在 Sonatype 的一位内部人员创建了一个 Docker 映像来帮助解决这个问题:

    https://hub.docker.com/r/bradbeck/nexus-https/~/dockerfile/

    这可能有助于为您加油。值得注意的是,这不是 Sonatype 支持的,而是 Brad 本人支持的。使用这个 Dockerfile 作为您的基础会很好,因为它可能与我们支持的非常接近。

    您可能会对其进行修改,以便为您要创建的 Docker 注册表公开更多端口。想法是内部托管注册表,集线器的代理,然后是两者的一组以便于访问。

    在这里完成大部分工作:https://books.sonatype.com/nexus-book/reference3/docker.html

    【讨论】:

      【解决方案3】:

      你可以尝试使用我的solution,实际上并没有修改sonatype/nexus3原图,而是在nexus3本身前面使用nginx-proxy(支持ssl)。简而言之,它使用docker-compose 一键使 nexus3+nginx 开箱即用。同时我也有一些 API 调用来在 nexus3 部署期间进行配置更改,您可以使用自定义的扩展它们。

      【讨论】:

        猜你喜欢
        • 2019-08-24
        • 1970-01-01
        • 2020-05-20
        • 1970-01-01
        • 2019-04-15
        • 1970-01-01
        • 2020-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多