Docker镜像代理服务器(私有Docker注册表)使用Nexus OSS并重用其依赖镜像



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

我想把它设置成供公司在局域网内使用。我想用docker来安装它(我可以找到nexus的docker镜像https://github.com/sonatype/docker-nexus3)。

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

请注意,我们应该谨慎使用磁盘,可能还并没有清理注册表的方法。

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

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

一旦你设置了你想要的存储库,你还需要通过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

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

最新更新