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 并提交到阿里云仓库

相关推荐
G_whang1 小时前
centos7下docker 容器实现redis主从同步
redis·docker·容器
认真学习的小雅兰.1 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
zhou周大哥1 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
the丶only2 小时前
单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
linux·运维·服务器·docker·gitlab
书生-w2 小时前
Docker部署GitLab服务器
服务器·docker·gitlab
塔克拉玛攻城狮2 小时前
私有网盘+在线文档:内网离线搭建NextCloud+OnlyOffice详细指南
docker·在线文档·网盘
ccubee2 小时前
docker 安装 ftp
运维·docker·容器
枫叶红花3 小时前
【Linux系统编程】:信号(2)——信号的产生
linux·运维·服务器
yaosheng_VALVE3 小时前
探究全金属硬密封蝶阀的奥秘-耀圣控制
运维·eclipse·自动化·pyqt·1024程序员节
dami_king3 小时前
SSH特性|组成|SSH是什么?
运维·ssh·1024程序员节