当前位置: 首页 > article >正文

Docker 镜像的发布过程

搭建了一个镜像后(例如搭建好了一个开发环境),如果想要供其他人使用,此时就可以发布镜像到镜像仓库。

本文就试着将本地的镜像,发布到阿里云。

发布流程

示意图:

首先 Images 可以由容器提交的方式生成,也可以通过 Dockerfile 的方式(后面会讲),然后通过 push 等操作提交到镜像仓库。(有点像 Git 里面的 git pull​ 和 git push​ )

这个镜像仓库可以是公共的(类似 GitHub),也可以是私有的(例如公司内部搭建的,类似 GitLab)

这里我们以上一节提交的带 vim 的 Ubuntu 镜像为例,push 到阿里云仓库上

创建阿里云镜像仓库

登录阿里云控制台,然后选择容器镜像服务:

​​

创建一个个人版的实例:

然后创建命名空间(类似 Java 中的包名,这里取名为 peterjxl):

创建仓库:先选择命名空间,然后点击创建镜像仓库

填写仓库的一些信息:

选择本地仓库,然后就创建成功了

创建成功后,会有操作指南(注意,每个人的命令都是不同的,要用自己的命令)

推送镜像

接下来就可以推送镜像了。注意:每个人的命令都是不同的,不要直接复制粘贴执行,得替换为自己的仓库的推送命令。

根据指南,推送镜像的命令如下:

$ docker login --username=peterjxl registry.cn-xxxxx.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:[镜像版本号]

先登录(注意要输入密码,之前创建的时候会设置),登录完后会出现 Login Succeeded 的提示,表示登录成功

然后设置一个 tag:

$ docker tag 0d0cf3b0417f registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:1.1

然后 push:

$ docker push registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:1.1

下载镜像

接下来我们就从阿里云仓库中,下载镜像到本地了。指南是这样写的:

  1. 登录阿里云 Docker Registry
$ docker login --username=peterjxl registry.cn-hangzhou.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

  1. 从 Registry 中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:1.1

我们可以先删除本地所有镜像,然后再下载镜像,可以看到下载成功了:

$ docker rmi 0d0cf3b0417f
$ docker pull registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:1.1

$ docker images
REPOSITORY                                                       TAG       IMAGE ID       CREATED          SIZE
registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository   1.1       0d0cf3b0417f   15 minutes ago   187MB

最后

课堂作业:使用 Centos 镜像,安装 vim 并提交到阿里云仓库


http://www.kler.cn/a/300583.html

相关文章:

  • RabbitMQ-消息可靠性以及延迟消息
  • postgres数据库中_varchar的数组存储方法如何查找
  • R语言的文件操作
  • ScratchLLMStepByStep:训练自己的Tokenizer
  • 介绍下常用的前端框架及时优缺点
  • Kotlin语言的正则表达式
  • 633. 平方数之和-LeetCode(C++)
  • 网络学习-eNSP配置VRRP
  • 【大模型推理】大模型前向推理过程详解
  • PMP–一、二、三模–分类–14.敏捷–技巧–看板面板与燃尽图燃起图
  • VS Code与SVN关联
  • Neo4j图数据库
  • Node.js快速入门
  • 僵尸网络开发了新的攻击技术和基础设施
  • 机器人入门系列:《通过蓝牙模块通讯控制机器人电机转动》
  • Rust在Web开发中的优势是什么?
  • 【lua实战】数组和数组长度
  • Android生成Java AIDL
  • 【网络安全】-文件包含漏洞-pikachu
  • 使用Get包显示Dialog
  • 《HTML 与 CSS—— 响应式设计》
  • C++:priority_queue(优先级队列)的模拟实现
  • 18070 矩阵行交换或列交换
  • 实时音视频之医疗手术示教技术方案探究
  • DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed
  • [001-03-007].第26节:分布式锁迭代1->基于setnx命令实现分布式锁: