Docker 镜像的发布过程

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

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

发布流程

示意图:

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

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

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

创建阿里云镜像仓库

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

​​

创建一个个人版的实例:

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

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

填写仓库的一些信息:

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

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

推送镜像

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

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

shell 复制代码
$ 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:

shell 复制代码
$ docker tag 0d0cf3b0417f registry.cn-hangzhou.aliyuncs.com/peterjxl/peterjxl_repository:1.1

然后 push:

shell 复制代码
$ 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

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

shell 复制代码
$ 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 并提交到阿里云仓库

相关推荐
kuroomi3 小时前
Docker 与容器基础
linux·运维·docker
梦梦代码精8 小时前
《回收租赁系统技术选型避坑指南:业务闭环与二开自由度详解》
开发语言·低代码·docker·开源·代码规范
_itgo9 小时前
意图识别落地方案
运维·docker·容器
mengge.cloud10 小时前
0909华为云计算类综合服务小白实验教程
linux·运维·服务器·网络·华为云·云计算
QYR-分析12 小时前
蓝海赛道高速扩容!全球小型观察ROV市场格局、细分场景与发展趋势分析
大数据·运维·云计算
陈皮糖..12 小时前
从零搭建一个简易 AI 运维问答机器人(RAG + LangChain + Streamlit)
运维·人工智能·ai·langchain·机器人
制造业的搬运工12 小时前
AI服务器背板与传统背板差异:三大设计升级解析
运维·服务器·人工智能·科技·制造·pcb工艺
顶点多余13 小时前
仿muduo库实现高并发服务器项目
运维·服务器
脚踏实地,坚持不懈!13 小时前
Linux 6.18.7 内存分配与回收 —— 代码梳理
linux·运维·网络
2601_9623004713 小时前
python在运维上可以干什么,请举几个具体的例子
运维·python·系统管理·网络监控·自动化脚本