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

时间:2017-01-23 14:39:17

标签: java docker nexus

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

我想将其设置为局域网内的公司使用。并且想使用docker来安装它(我可以找到nexus https://github.com/sonatype/docker-nexus3的docker图像。)

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

请注意,我们应该对磁盘使用情况保持谨慎,可能还有no way yet to clean-up registry

1 个答案:

答案 0 :(得分:3)

要完成此类操作,您可能需要为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

同样,社区成员在不久前向我们发送了一个PR,它设置了默认的Docker注册表:https://github.com/sonatype/docker-nexus3/pull/48/files。我们没有合并它,因为更改有点宽泛(默认情况下并非每个人都需要一个设置),但也许它可以帮助您完成任务:)