构建docker映像并将其发布到Nexus3

构建docker映像并将其发布到Nexus3,docker,jenkins,maven-3,nexus3,docker-maven-plugin,Docker,Jenkins,Maven 3,Nexus3,Docker Maven Plugin,nexus的新成员。。我们正在尝试自动化构建过程(构建docker映像并将其发布到Nexus3存储库)。。我的要求是,我有一个使用docker build-t:.构建的映像。现在我想使用Jenkins将这个docker映像发布到nexus repo 我有一个nexus repo,Jenkins作业配置了docker maven插件,我还提供了docker:pushmaven target。。不知道现在该怎么推?我是否需要将shell脚本与docker push:一起使用,或者我必须在Jenkin

nexus的新成员。。我们正在尝试自动化构建过程(构建docker映像并将其发布到Nexus3存储库)。。我的要求是,我有一个使用
docker build-t:.构建的映像。
现在我想使用Jenkins将这个docker映像发布到nexus repo

我有一个nexus repo,Jenkins作业配置了docker maven插件,我还提供了
docker:push
maven target。。不知道现在该怎么推?我是否需要将shell脚本与
docker push:
一起使用,或者我必须在Jenkins CI作业中提到哪些步骤


请帮助我。

关于这个问题,不清楚您是否已设置Nexus Docker注册表或Nexus Maven存储库。你写过“Nexus回购”,这意味着Nexus Maven回购

如果你是说Nexus Maven存储库。。。 Docker将图像存储到Docker服务器中。它使用自己的协议连接到它。Nexus是一个不同的范例,不兼容

Docker Maven插件的
推送
目标推送到远程Docker存储库,例如GitLab。这与将Maven构件“部署”到Nexus不同

Docker允许使用
Docker load
.tar
文件的形式获取图像。 也许有人创建了某种“马车”,允许maven“解析”这些文件,并将其声明为依赖项。 但整个想法可能并不真正可取。正如我所说,Maven和Docker的方法是不同的

编辑:原来是Nexus的创造者。 正如@masseyb所指出的那样。但在快速阅读之后,发现它只是一个普通的Docker注册表,只是打上了Nexus的烙印并捆绑在一起。我假设海报询问了如何使用NexusMaven存储库来存储Docker图像

如果您有Nexus Docker注册表。。。 然后你需要:

  • ,使用在Nexus中设置的凭据。
    我想你也可以
    docker登录
    ;在运行Maven之前
  • 中将存储库ID设置为前缀
  • 然后,
    push
    目标将推送到该存储库

这可能也很方便。

否决,因为nexus可以配置为.OP。它可以在nexus中创建托管docker存储库(最终在其前面添加反向代理),用服务器名称标记图像(需要解析),并使用docker:push maven目标推送图像。经过编辑的答案,投票结果向上。从问题来看,OP是否使用Nexus Docker注册表并不清楚。他写了关于Nexus Repo的文章,这意味着Nexus Maven Repo。我同意,我的理解参考。提到“我也提供了Maven target”是因为OP试图将图像推送到他自己在Nexus中托管的docker注册表。另一个注意事项是,
nexus3
做了很多tbh(参考您提到的“这意味着Nexus Maven Repo”)。我们使用它作为我们的
docker
托管(内部)注册表和代理,
pypi
apt
npm
。。。