当前位置: 首页 > 后端技术 > Java

【Docker学习教程系列】7-如何将本地Docker镜像发布到阿里云

时间:2023-04-01 14:25:30 Java

上一篇我们使用dockercommit命令用vim创建了一个Ubuntu镜像。那么如何分享这张图片呢?本文将介绍如何将本地docker镜像发布到阿里云。本文主要内容:1:发布本地镜像到阿里云流程2:生成镜像3:推送本地镜像到阿里云仓库4:下载阿里云仓库上的镜像到本地1:发布本地镜像到阿里云远程仓库流程:拉取基础镜像>>本地相关修改>>commit提交修改内容和tag>>使用命令(Dockerfile)将本地镜像提交到阿里云远程镜像仓库或者私服镜像仓库>>拉取远程仓库镜像>>修改。这个过程循环。具体如下:2:镜像生成方式:第一种方式是dockercommit。使用commit命令生成本地镜像。这个在之前的commit实践中已经有详细的讲解,这里就不多说了。想要了解更多,请前往:《Docker学习6-Docker镜像commit操作案例》了解详情。第二种方法是使用DockerFile。这是我们以后会经常用到的。这个方法会在后面的进阶章节中详细讲解。现在是基础阶段,这里不多。大家可以跟着凯哥一起一步步学习。3:将本地镜像推送到阿里云远程仓库注意:必须先创建命名空间,才能创建仓库。仓库属于某个命名空间。3.1:在个人实例>>仓库管理>>命名空间>>创建命名空间。然后输入命名空间的名称。这个命名空间可以理解为我们Java中的包名。具体操作如下图所示:创建完成后,可以设置默认仓库类型为public。设置为public,这样在群内共享,同群有能力的人可以直接从远程拉取镜像。就像我们的git,提交到阿里云远程仓库后,其他人也可以拉取一样的道理。3.2:创建镜像仓库3.2.1:选择Namespace,点击左侧导航栏中的MirrorWarehouse>>AllNamespaces>>选择需要创建仓库的命名空间>>创建镜像仓库。如下图所示:3.2.2:创建镜像仓库选择命名空间后,点击创建镜像仓库按钮>>,在弹出的窗口中输入仓库名称、仓库名称、摘要等信息。注意仓库名称有限制:长度为2-64个字符,可以使用小写英文字母和数字,分隔符“_”、“-”、“.”(分隔符不能在第一个或最后一个)单击“下一步”,然后让我们选择代码的来源。分为:CodeUp、CloudCode、GitHub、BitBucket、私有GitLab、本地仓库。点击非本地仓库后,绑定账号后,可以在buildsettings中选择codechange自动构建镜像功能。因为这次我们是从本地仓库提交到阿里云远程仓库,所以我们选择本地仓库,然后点击创建镜像仓库。如下图所示:提交后,我们可以看到一堆命令。先登录,可以从registry拉取镜像,push镜像到registry等命令。具体如下:这次我们作为一个实际案例,将镜像推送到Registry。因此,我们只选择3模块的三个命令。4:将本地镜像推送到阿里云远程仓库通过上面的第三步,我们得到了将本地镜像推送到阿里云远程仓库的命令。接下来,我们就来实战操作了。获取提交到阿里云远程仓库的脚本:dockerlogin--username=改成自己的账号registry.cn-hangzhou.aliyuncs.comdockertag[ImageId]registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]dockerpushregistry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]根据以上三个命令,我们根据操作可以得到如下:5:下载镜像到阿里云远程仓库本地使用的命令也可以通过上面第三步获取。步骤:1:登录;2:从注册表中拉取镜像。直接从页面中复制相应的命令即可。在拉取之前,我们先看看我们本地已有的镜像。使用dockerimages命令执行远程拉取镜像的命令:命令公式:dockerpullregistry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]拉取完成后我们查看一下现有的本地镜像来验证是否拉取成功。可以看到我们提交的阿里云远程仓库镜像已经存在。说明本地拉取成功。拉下来之后,我们运行一下镜像,验证下我们在上一篇文章中添加的vim命令是否已经存在于镜像中。使用的命令公式:dockerrun-itimageid/bin/bash可以正常使用vim命令。意思是从远处拉过来的镜像已经包含了添加的vim命令。好了,至此,我们已经将本地镜像提交到阿里云远程仓库,并从远程仓库拉取了镜像。下一篇凯哥会详细介绍如何将本地仓库提交到本地私服。直通车,本系列教程已发文,速抵,《Docker学习系列》教程已发布内容如下:【图文教程】Windows11下安装DockerDesktop【填坑】Windows系统下安装DockerDesktop后迁移镜像位置[Docker学习系列]Docker学习1-docker安装[Docker学习系列]Docker学习2-docker搭建镜像加速器[Docker学习系列]Docker学习3-dockerrun命令有什么作用?为什么docker比虚拟机快?【Docker学习系列】Docker学习2-常用命令启动命令和镜像命令【Docker学习系列】Docker学习系列3:常用命令容器命令【Docker学习系列】Docker学习4-常用命令容器重要命令【Docker教程系列】Docker学习5-DockerImage理解【Docker教程系列】Docker学习6-DockerImageCommit操作案例【Docker学习教程系列总结】笔记及解题文章大家好,我是凯哥Java(kaigejava),很高兴分享和更新技术文章每天。欢迎大家关注“凯歌Java”,及时了解更多。让我们一起学习Java