如何使用Azure DevOps流水线将镜像推送到Registry?

2026-05-19 19:361阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1200个文字,预计阅读时间需要5分钟。

如何使用Azure DevOps流水线将镜像推送到Registry?

上一篇文章,我们研究了如何通过流水线编译出一个Docker镜像。本文,我们将探讨如何将编译好的镜像推送到镜像仓库。

首先,确保你已经配置了Docker的登录凭证。如果是在单机部署,你的Docker本身就已经安装在了部署环境中。接下来,你可以使用以下命令将镜像推送到仓库:

shelldocker login docker push :

这里,``是你的镜像仓库地址,``是你的Dockerfile中定义的镜像名称,``是可选的,通常用于指定版本或构建号。

例如,如果你的Dockerfile中定义的镜像名称是`myapp`,且你想要推送的标签是`v1.0`,则命令如下:

shelldocker login mydockerrepo.comdocker push mydockerrepo.com/myapp:v1.0

这样,你的镜像就被成功推送到镜像仓库了。其他用户可以通过以下命令从仓库拉取你的镜像:

shelldocker pull /:

例如:

如何使用Azure DevOps流水线将镜像推送到Registry?

shelldocker pull mydockerrepo.com/myapp:v1.0

这样,你就可以将编译好的镜像分享给其他用户,或者用于自动化部署等场景。

上一篇文章我们研究了如何通过流水线编译出一个docker的镜像,本篇我们来研究一下,如何把编译好的镜像推送到镜像仓库去。

平时如果我们是单机部署,我们的docker本身就装在部署的机器上,我们在本机直接build+run一条龙就好了,但是在实际生产中,

更多的可能是分布式的多机部署,或者我们是依赖于K8S进行的部署,这时候我们肯定是需要把编译好的镜像推送到一个统一的仓库

中进行管理,然后在部署的时候统一从这个仓库进行获取。

镜像仓库目前社区主流的是使用Harbor,这个是是VMware贡献给社区的一个开源免费的镜像仓库,有一键部署的脚本,部署成功后通过

对外开放的API既可以实现镜像的推送和拉取,我在写这篇文章的时候自己搭建了一个Harbor打算用来当仓库用,后来想了想好像各个

云厂商都有免费的仓库可以用,于是乎我就去搞了一个腾讯云的仓库,这样也免去了大家搭建harbor的工作量和所需的硬件服务器资源

(注意,我这里不是广告,阿里云、腾讯云、华为云、青云等都有自己的仓库,只是我自己的服务器都在腾讯上)

首先,我们去腾讯云搜索:容器镜像服务,然后开通个人版,个人版是免费的,只是受限的条件很多,但是够用,开通之后,我们进入

到控制台,点击新建仓库,填写好自己的配置信息之后就可以使用了,成品如下:

如果喜欢使用harbor的话也没有问题,harbor的效果如下:

配置好镜像仓库之后,我们去更改一下上一篇文章中我们创建好的流水线,之前的流水线中,我们只是执行了docker build 命令,这个命令只是实现了镜像

的编译工作,接下来我们需要添加docker push命令,来把我们的镜像推送到仓库里去。

首先和之前创建ssh连接一样,我们需要在service connection中添加一个凭证,用来描述我们的仓库地址和账号密码,打开service connection选择docekr registry

添加你的仓库信息,如果你使用的是腾讯云的仓库,账号密码会在你创建仓库时进行设置,如果你使用的是harbor,那么这个账号和密码是写在你harbor的配置文件

里的,和你请求api的账号密码保持一致即可。

填写完之后,我们去更改一下之前的流水线,首先我们先在repository 中选择我们刚才创建好的连接信息,然后修改下面docker build为docker build push,其他的原有参数不需要调整

然后我们运行一下我们的流水线,我们可以看到,流水线在完成了build步骤以后,紧接着就开始执行了push命令,开始推送我们的镜像到腾讯云的仓库。

然后我们去腾讯云上,看一下我们的镜像有没有出现,可以发现,我们刚才推送的镜像现在已经躺在腾讯云上了。

如果你使用的是harbor的话,首先需要确保你部署harbor使用的是www.juniucdn.com/cdn.html提供,感恩】

本文共计1200个文字,预计阅读时间需要5分钟。

如何使用Azure DevOps流水线将镜像推送到Registry?

上一篇文章,我们研究了如何通过流水线编译出一个Docker镜像。本文,我们将探讨如何将编译好的镜像推送到镜像仓库。

首先,确保你已经配置了Docker的登录凭证。如果是在单机部署,你的Docker本身就已经安装在了部署环境中。接下来,你可以使用以下命令将镜像推送到仓库:

shelldocker login docker push :

这里,``是你的镜像仓库地址,``是你的Dockerfile中定义的镜像名称,``是可选的,通常用于指定版本或构建号。

例如,如果你的Dockerfile中定义的镜像名称是`myapp`,且你想要推送的标签是`v1.0`,则命令如下:

shelldocker login mydockerrepo.comdocker push mydockerrepo.com/myapp:v1.0

这样,你的镜像就被成功推送到镜像仓库了。其他用户可以通过以下命令从仓库拉取你的镜像:

shelldocker pull /:

例如:

如何使用Azure DevOps流水线将镜像推送到Registry?

shelldocker pull mydockerrepo.com/myapp:v1.0

这样,你就可以将编译好的镜像分享给其他用户,或者用于自动化部署等场景。

上一篇文章我们研究了如何通过流水线编译出一个docker的镜像,本篇我们来研究一下,如何把编译好的镜像推送到镜像仓库去。

平时如果我们是单机部署,我们的docker本身就装在部署的机器上,我们在本机直接build+run一条龙就好了,但是在实际生产中,

更多的可能是分布式的多机部署,或者我们是依赖于K8S进行的部署,这时候我们肯定是需要把编译好的镜像推送到一个统一的仓库

中进行管理,然后在部署的时候统一从这个仓库进行获取。

镜像仓库目前社区主流的是使用Harbor,这个是是VMware贡献给社区的一个开源免费的镜像仓库,有一键部署的脚本,部署成功后通过

对外开放的API既可以实现镜像的推送和拉取,我在写这篇文章的时候自己搭建了一个Harbor打算用来当仓库用,后来想了想好像各个

云厂商都有免费的仓库可以用,于是乎我就去搞了一个腾讯云的仓库,这样也免去了大家搭建harbor的工作量和所需的硬件服务器资源

(注意,我这里不是广告,阿里云、腾讯云、华为云、青云等都有自己的仓库,只是我自己的服务器都在腾讯上)

首先,我们去腾讯云搜索:容器镜像服务,然后开通个人版,个人版是免费的,只是受限的条件很多,但是够用,开通之后,我们进入

到控制台,点击新建仓库,填写好自己的配置信息之后就可以使用了,成品如下:

如果喜欢使用harbor的话也没有问题,harbor的效果如下:

配置好镜像仓库之后,我们去更改一下上一篇文章中我们创建好的流水线,之前的流水线中,我们只是执行了docker build 命令,这个命令只是实现了镜像

的编译工作,接下来我们需要添加docker push命令,来把我们的镜像推送到仓库里去。

首先和之前创建ssh连接一样,我们需要在service connection中添加一个凭证,用来描述我们的仓库地址和账号密码,打开service connection选择docekr registry

添加你的仓库信息,如果你使用的是腾讯云的仓库,账号密码会在你创建仓库时进行设置,如果你使用的是harbor,那么这个账号和密码是写在你harbor的配置文件

里的,和你请求api的账号密码保持一致即可。

填写完之后,我们去更改一下之前的流水线,首先我们先在repository 中选择我们刚才创建好的连接信息,然后修改下面docker build为docker build push,其他的原有参数不需要调整

然后我们运行一下我们的流水线,我们可以看到,流水线在完成了build步骤以后,紧接着就开始执行了push命令,开始推送我们的镜像到腾讯云的仓库。

然后我们去腾讯云上,看一下我们的镜像有没有出现,可以发现,我们刚才推送的镜像现在已经躺在腾讯云上了。

如果你使用的是harbor的话,首先需要确保你部署harbor使用的是www.juniucdn.com/cdn.html提供,感恩】