新的nexus ..我们正在尝试自动化构建过程(构建docker镜像并将它们发布到Nexus3存储库)。我的要求是,我有一个使用docker build -t <imagename>:<version> .
构建的图像现在我想发布这个docker使用Jenkins对nexus repo进行图像处理。
我有一个nexus repo和Jenkins Job配置了docker-maven插件我也提供了docker:push
maven目标..不确定如何推送?我是否需要使用docker push <imagename>:<version>
的shell脚本或者我在Jenkins CI工作中提到的步骤。
请帮帮我..
答案 0 :(得分:2)
从这个问题尚不清楚您是否已设置Nexus Docker Registry或Nexus Maven存储库。您写的是“ Nexus Repo”,它表示Nexus Maven Repo。
Docker将映像存储到Docker服务器中。它使用自己的协议连接到它。 Nexus是另一种范例,与原样不兼容。
Docker Maven插件的push
目标将推送到远程Docker存储库,例如DockerHub或GitLab。这不同于将Maven工件“部署”到Nexus。
Docker允许使用.tar
以docker load
文件的形式获取映像。
也许有人创建了某种“旅行车”,使maven可以“解析”您将其声明为依赖项的这些文件。
但是,下面的整个想法可能并不是真正可取的。正如我所说的,Maven和Docker的方法是不同的。
编辑::事实证明,somebody did是Nexus的创建者。 正如@masseyb指出的那样。但是在快速阅读之后,事实证明这只是一个普通的Docker注册表,仅与Nexus品牌捆绑在一起。我假设发布者询问了如何使用Nexus Maven 存储库来存储Docker映像。
然后您需要:
docker login
来做到这一点;在运行Maven之前。<name>
的{{1}}中的前缀。<image>
目标将推送到该存储库。