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

news2024/12/26 22:01:48

在上一篇中,我们使用docker commit 命令,创建了一个带有vim的Ubuntu镜像。那么怎么将这个镜像分享出去呢?本文就来讲解如何将本地的docker镜像发布到阿里云上。

 

本文主要内容:

1:本地镜像发布到阿里云流程

2:镜像的生成方法

3:将本地镜像推送到阿里云仓库

4:将阿里云仓库上的镜像下载到本地

1:本地镜像发布阿里云远程仓库流程:

拉取base镜像>>本地进行相关修改>>commit提交修改内容及tag>>使用命令(Dockerfile)将本地镜像提交到阿里云远程镜像仓库或者是私服镜像仓库中>>拉取远程仓库镜像>>修改。这个流程循环。具体如下图:

 

2:镜像生成方法:

第一种方法就是 docker commit。使用commit命令生成本地镜像。这一个在上一篇commit实战中,已经详细讲解过,这里就不多说了。想要了解的请移步到:《Docker学习6-Docker镜像commit操作案例》,查看详情。

第二种方法,就是要使用到DockerFile了,这个也是我们以后会常用到的,这种方法,在后面高级篇中,会详细讲解,现在是在基础阶段,这里也不多少了,大家可以跟着凯哥一起一步一步学习。

 

3:将本地镜像推送到阿里云远程仓库

注意:是先有命名空间,然后才能创建仓库的。仓库是归属于某个命名空间下的。

3.1:在个人实例>>仓库管理>>命名空间>>创建命名空间。然后输入命名空间的名称即可。可以把这个命名空间理解为咱们Java中的包名。具体操作如下图:

 

创建完成之后,把可以把默认仓库类型设置为公开的。设置成公共的,这样在组内就是共享的,同组能人员就可以直接从远程拉取镜像了。如同咱们的git一样,提交阿里云远程仓库后,其他人也可以拉取一样的道理。

3.2:创建镜像仓库

3.2.1:选择命名空间

点左侧导航栏中的镜像仓库>>全部命名空间>>选择需要创建仓库的命名空间>>创建镜像仓库。如下图:

 

3.2.2:创建镜像仓库

选择好命名空间后,点击创建镜像仓库按钮>>在弹出窗口中输入仓库名称、仓库了下、摘要等信息.

 

注意,仓库名称有限制:长度为2-64个字符,可使用小写英文字母、数字,可使用分隔符“_”、“-”、“.”(分隔符不能在首位或末位)

点击下一步,之后是让选择代码的来源。

分为:CodeUp、云Code、GitHub、BitBucket、私有GitLab、本地仓库.非本地仓库的点击后,绑定账号之后,都可以在构建设置中,选择代码变更自动构建镜像功能。

 

因为本次,咱们是从本地仓库提交到阿里云远程仓库的,所以,咱们就选择本地仓库,然后点击创建镜像仓库。如下图:

 

提交之后,我们可以看到有一堆的命令。先登录、可以从registry中拉取镜像、将镜像推送到Registry等命令。具体如下图:

 

本次,实战案例,我们是要将镜像推送到Registry上。所以,我们就选择3模块的三条命令即可。

4:将本地镜像推送到阿里云远程仓库

通过上面第三步骤,我们已经获取到将本地镜像推送的阿里云远程仓库的命令了。接下来,我们就来进行实战操作。

获取到提交阿里云远程仓库的脚本:

 docker login --username=修改成你自己的账号 registry.cn-hangzhou.aliyuncs.com

 docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]

 docker push registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]

根据上面三个命令我们根据操作,可以得到下:

 

5:将阿里云远程仓库上的镜像下载到本地

使用到的命令,在上面第三步中也能获取到。

步骤:

1:登录;2:从Registry中拉取镜像。直接从页面中复制对应的命令即可。

 

拉取前,我们先来看看,现在我们本地已经有的镜像,使用:docker images命令

 

执行从远程拉取镜像命令:

命令公式:

docker pull registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]

 

拉取完成之后,我们再来查查本地现有的镜像,来验证是否拉取成功。

 

我们可以看到,已经有我们提交的阿里云远程仓库镜像了。说明,本地拉取成功。

拉取下来之后,我们来运行下镜像,验证,我们在上一篇文章中添加的vim命令是否已经存在这个镜像中。使用到的命令公式:

docker run -it 镜像id /bin/bash 

 

vim命令可以正常使用了。说明,从远处拉取到的镜像已经包含了添加的vim命令。

好了,至此,我们已经将本地镜像提交到阿里云远程仓库及从远程仓库拉取镜像操作了。在下一篇文章中,凯哥将详细介绍,怎么将本地仓库提交到本地私服上去。

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

【图文教程】Windows11下安装Docker Desktop

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置

【Docker学习系列】Docker学习1-docker安装

【Docker学习系列】Docker学习2-docker设置镜像加速器

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令

【Docker学习系列】Docker学习系列3:常用命令之容器命令

【Docker学习系列】Docker学习4-常用命令之重要的容器命令

【Docker教程系列】Docker学习5-Docker镜像理解

【Docker教程系列】Docker学习6-Docker镜像commit操作案例

【Docker学习教程系列汇总】笔记及遇到问题解决文章

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux网络原理与编程(4)——第十四节 传输层协议

目录 前置知识 再谈端口号 几个函数 netstat telnet UDP报文 UDP协议端格式 UDP首部: UDP的特点 UDP的缓冲区 TCP报文详解 Tcp报头详解 传输层是在应用层的下面一层,我们在讲解传输层协议之前,先来说一说一些前置知识即命令函数等…

看完就会flink基础API

文章目录一、执行环境(Execution Environment)1、创建执行环境2、执行模式(Execution Mode)3、触发程序执行二、源算子(Source)1、数据源类准备2、从集合中读取数据3、从文件中读取数据4、从Socket中读取数据5、从Kafka中读取数据…

ISCSLP 2022 Program|希尔贝壳邀您参加第十三届中文口语语言处理国际会议

第十三届中文口语语言处理国际会议将于2022年12月11-14日(本周日~下周三)正式开启,本次会议中的部分Session将通过语音之家视频号进行线上直播,欢迎大家参加! 官网:www.iscslp2022.org 大会简介 中文口语…

ABAP学习笔记之——第十二章:SALV

一、概要 在Net Weaver 2004 平台上集合了利用函数和 GRID 的功能发布的 SALV 包程序 (SALV也称为 New ALV)。SALV 可以像利用函数生成 ALV 的不用创建屏幕就可以调用的全屏式ALV,还可以利用控制器在屏幕的控制器中显示 ALV。利用GRID 的ALV 虽然不能注册成 Batch …

速卖通知识产权规则介绍,如何才能规避侵权的问题?

最近有商家咨询到我,关于速卖通对商品知识产权是怎么评判的,今天就来给大家科普一下平台关于知识产权的规则介绍 速卖通平台严禁用户未经授权发布、销售涉嫌侵犯第三方知识产权的商品或发布涉嫌侵犯第三方知识产权的信息。 若卖家发布涉嫌侵犯第三方知…

从股票市场选择配对的股票:距离计算方法

我们来看看如何定义距离的计算方法。 回想一下,在共同趋势模型中,协整的必要条件是从共同趋势得到的新息序列必须完全相关。APT中的共同因子回报就理解成是从共同趋势得到的新息序列,因此,新息序列之间的相关系数就是共同因子回报…

网关性能大PK,Spring Cloud Gateway让人大失所望

现在的架构基本都是使用微服务的,而网关作为微服务的统一门户在架构模式中用得越来越多,API网关是所有客户端的单一入口点。 API网关模式是微服务体系结构的一个很好的起点,因为它能够将特定的请求路由到我们从整体上分离的不同服务。事实上…

嘿嘿嘿,10个我经常逛的“小网站”,不骗人

反思一下,为什么你会点进来~ 咳咳,步入正题。 工欲善其事必先利其器,你们的收藏夹里收藏了多少“小网站”?今天和大家分享10个我压箱底的效率工具/平台,现在用不上不要紧,赶紧收藏最关键! 1.G…

【产品设计】APP常见的6种图片浏览模式

六种是指比较常见的图片浏览模式,是在这四种的基础上加上手势来实现另一种读图方式,这里不绝对说就这么几种,那么就谈谈个人对每种图片浏览模式说说自己在实际使用和工作中的一些理解,以及这些模式在实际设计中,哪一种…

智能聊天机器人––ChatGPT初体验

最近几天,由OpenAI公司发布的ChatGPT聊天机器人火了,小杨也怀着对新鲜事物的好奇,亲自体验了一下这个火爆全网,让人沉迷其中无法自拔的ChatGPT聊天机器人,经过体验,我只想用一个字来表达我的感受&#xff0…

【LeetCode每日一题】——142.环形链表 II

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【题目进阶】九【时间频度】十【代码实现】十一【提交结果】一【题目类别】 链表 二【题目难度】 中等 三【题目编号】 142.环形链表 II 四【题目描述】 …

Java百度地图全套教程(地图找房、轻骑小程序、金运物流等)

课程简介: 本课程基于百度地图技术,将企业项目中地图相关常见应用场景的落地实战,包括有地图找房、轻骑小程序、金运物流等。同时还讲了基于Netty实现高性能的web服务,来处理高并发的问题。 学完本课程能够收获:百度…

支持本地挂载的网盘文件列表工具AList

什么是 Alist? AList 是一个支持多存储的文件列表程序,使用 Gin 框架和 Solidjs 库。可以将常见的 18 种网盘整合在一起,并支持 WebDAV 客户端访问。 之前老苏写过一篇 Alist, 但此 Alist 非彼 Alist,之前的 A 应该是 …

React基础知识(React基本使用、JSX语法、React模块化与组件化)(一)

系列文章目录 文章目录系列文章目录一、React简介1.1 React的特点1.2 React高效的原因二、React基本使用2.1 引入react相关js库2.2 创建虚拟DOM的两种方法2.3 虚拟DOM和真实DOM三、JSX基本使用3.1 jsx使用四、React模块化与组件化4.1 函数式组件4.2 类式组件一、React简介 1.英…

Kafka消费者组消费进度监控

针对Kafka消费者,重要的就是监控消费进度或者是消费的滞后程度,有个专业名词 消费者 Lag 或 Consumer Lag。 滞后程度(Consumer Lag)是指消费者当前落后生产者的程度。比如Kafka 生产者向某主题成功生产了 100 万条消息&#xff0…

一个.NetCore前后端分离、模块化、插件式的通用框架

今天给大家推荐一个基于.NET 6实现的快速开发平台。采用模块化插件式开发,前后端分离,开箱即用。 项目简介 这是一个开箱即用的快速开发平台,前后端分离架构,支持插件式开发,支持工作流、可视化表单功能。系统基础功…

Qt 快速读写Excel指南

Qt Windows 下快速读写Excel指南 很多人搜如何读写excel都会看到用QAxObject来进行操作,很多人试了之后都会发现一个问题,就是慢,非常缓慢!因此很多人得出结论是QAxObject读写excel方法不可取,效率低。 后来我曾试过用…

网络攻击损失不容小觑

据研究数据显示,2022年数据泄露给企业造成的平均损失为435万美元;如果是勒索软件攻击,损失将增加到454万美元。当然这只是估计,在某些国家或地区平均损失更高,比如在美国,损失接近1000万美元。 此外&#x…

如何制作并使用动静态库

制作并使用动静态库🏞️1. 动静态库概念🌁2. 如何制作动静态库📖2.1 制作静态库📖2.2 制作动态库🌠3. 如何使用动静态库📖3.1 使用静态库📖3.2 使用动态库🍁4. 动态库的加载原理&…

Mybatis-plus实战项目演示+自定义元数据对象处理器+ws

目录 一,mybatis-plus实战一 1.导入依赖 2.application.yml配置 3.实体类 4.mapper 5.service层 6.启动类上配置 二,mybatis-plus实战二 1.导入依赖 2.application.yml配置 3.实体类 2.mapper 3.service 4.分页配置 5.放一个在controller层…