new nexus ..我们正在尝试自动化构建过程(构建docker images并将其发布到nexus3存储库)。我的要求是,我现在使用docker build -t <imagename>:<version> .
构建的图像,现在我想要使用Jenkins将此Docker图像发布到Nexus Repo。
我有一个nexus repo,詹金斯作业配置了docker-maven插件,我也提供了 docker:push
maven target ..不确定现在如何推动吗?我需要使用docker push <imagename>:<version>
的Shell脚本或在Jenkins CI工作中要提及哪些步骤。
请帮助我..
从问题中尚不清楚您是否已设置Nexus Docker注册表或Nexus Maven存储库。您写了有关" Nexus Repo"的文章,这意味着Nexus Maven repo。
如果您是指nexus maven存储库...
Docker将图像存储到Docker服务器中。它使用其自己的协议连接到它。Nexus是一个不同的范式,不兼容。
Docker Maven插件的push
目标推到远程Docker存储库,例如Dockerhub或Gitlab。这不同于"部署" Maven工件到Nexus。
Docker允许使用docker load
以.tar
文件的形式获取图像。也许有人创建了某种"货车",这是允许Maven"解决"这些文件的事情,您将声明为依赖关系。但是,整个想法可能并不是真正建议的。正如我所说,Maven和Docker的方法不同。
编辑:,事实证明有人做到了 - 这是Nexus的创建者。正如@masseyb指出的那样。但是经过快速阅读后,事实证明,这只是一个普通的Docker注册表,只是品牌并与Nexus捆绑在一起。我假设海报询问了如何使用Nexus maven 存储库来存储Docker Images。
如果您有 Nexus Docker注册表 ...
然后您需要:
- 使用Nexus中设置的凭据设置D-M-P。
我认为您也可以docker login
;跑步之前。 - 将存储库ID设置为
<image>
的<name>
中的前缀。 -
push
目标将推到该存储库。
本文有关使用多个注册表的本文也可能方便。