java - 使用 Nexus OSS 并复用其依赖镜像的 Docker 镜像代理服务器(私有(private) docker registry)

标签 java docker nexus

Nexus Repository Manager OSS 可用作 jar 工件的缓存代理,以及 docker 镜像的新功能。

我想将它设置为在 LAN 中供公司使用。并想使用 docker 来安装它(我可以找到 nexus 的 docker 图像 https://github.com/sonatype/docker-nexus3 )。

我如何让 Nexus 在安装它的服务器上使用 docker 镜像,因为 Nexus OSS 实际上是 Java 应用程序。

请注意,我们应该谨慎使用磁盘,可能有 no way yet to clean-up registry .

最佳答案

要完成这样的事情,您可能需要为 Nexus 存储库设置 https。这个 Docker 镜像是一个很好的起点:https://hub.docker.com/r/bradbeck/nexus-https/

您还需要公开您计划设置的任何代理、托管或组存储库的端口。按照此处的说明进行操作:https://books.sonatype.com/nexus-book/3.2/reference/docker.html#docker-proxy用于设置代理。

设置好所需的存储库后,您还需要通过 Docker 公开这些端口。您需要运行类似于以下的命令:

docker run -d -p 8081:8081 -p 8443:8443 -p 8444:8444 -v ~/nexus-data:/nexus-data -v ~/nexus-ssl:/opt/sonatype/nexus/etc/ssl --name nexus bradbeck/nexus-https

您可能还需要修改 Dockerfile 本身以公开您要使用的端口(在本例中我使用了 8444)。您将在此处进行此修改:https://github.com/bradbeck/nexus-https/blob/master/Dockerfile#L56

此外,一位社区成员不久前向我们发送了一个设置默认 Docker 注册表的 PR:https://github.com/sonatype/docker-nexus3/pull/48/files .我们没有合并它,因为变化有点大(默认情况下并不是每个人都需要一个设置),但也许它会帮助你完成你的任务:)

关于java - 使用 Nexus OSS 并复用其依赖镜像的 Docker 镜像代理服务器(私有(private) docker registry),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41808871/

相关文章:

Java KeyListener - 按住按键时释放按键

docker - Dockerfile EXPOSE 和 Kubernetes 服务/容器端口之间的关系?

svn - Sonatype Nexus、Jenkins 和 Collabnet Subversion Edge 中的嵌入式应用程序服务器

java - 使用 selenium webdriver 从同一页面逐一单击链接

java - 如何附加 BorderLayout 的西边和东边?

docker - 是否可以在 docker 容器内运行 VPN 客户端?

mysql - Apache Mesos、MESOS-DNS、MARATHON 和 Docker

java - fatal error - 构建 POM 时出错(可能不是该项目的 POM)

nexus - 如何重命名 Nexus Repository 3 中的存储库?

java - 如何在java中的另一个类中使用嵌套类?