学习docker第三弹------Docker镜像以及推送拉取镜像到阿里云公有仓库和私有仓库

docker目录

  • 1 Docker镜像
    • dockers镜像的进一步理解
  • 2 Docker镜像commit操作实例
    • 案例内容是ubuntu安装vim
  • 3 将本地镜像推送至阿里云
  • 4 将阿里云镜像下载到本地仓库
  • 5 后记

1 Docker镜像

镜像,是docker的三件套之一(镜像、容器、仓库),是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容。打包好的运行环境就是image镜像文件。

我们只有通过这个镜像文件才能生成Docke容器实例。(就好像Java需要先有一个类,然后才能new一个对象。)

dockers镜像的进一步理解

镜像是一层一层的,称其为分层的镜像。比如我们在pull一个镜像的时候,它就是一层一层进行拉取下载的。

docker pull nginx

在这里插入图片描述

这里就不得不提到 UnionFS(联合文件系统)了,它是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。

就像一个花卷一样,一层一层的卷起来。

docker镜像实际上是由一层一层的文件系统组成的,这种层级的文件系统UnionFS。

在这里插入图片描述
镜像分层最大的一个优点就是共享资源,方便复制迁移,就是为了复用。比如有多个镜像都从相同的 A 镜像构建而来,那么我们的 Docker Host 只需要在磁盘上保存一份 A 镜像即可。

Docker镜像层都是只读的,容器层是可写的。当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫做“镜像层”。
在这里插入图片描述

2 Docker镜像commit操作实例

docker commit 提交容器副本使之成为一个新的镜像
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

案例内容是ubuntu安装vim

第一步,从Hub上下载ubuntu镜像到本地并运行成功

docker images

第二步,查看默认ubtuntu是否带vim命令

docker run -it ubuntu /bin/bash

在这里插入图片描述
第三步,外网连通情况下,安装vim

apt-get update

在这里插入图片描述

apt-get -y install vim

在这里插入图片描述

vim a.txt

在这里插入图片描述

第四步,安装完成后,commit我们自己的新镜像

docker commit -m="add vim cmd" -a="ada" 镜像ID 镜像名称:版本号

在这里插入图片描述

第五步,启动我们的新镜像并和原来的对比
在这里插入图片描述

3 将本地镜像推送至阿里云

本地镜像ubuntu_vim:1.0
阿里云开发者平台:https://promotion.aliyun.com/ntms/act/kubernetes.html
在这里插入图片描述
选择控制台,进入容器镜像服务
在这里插入图片描述

选择个人实例
在这里插入图片描述

命名空间
在这里插入图片描述

仓库名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进入管理界面获得脚本
在这里插入图片描述

将镜像推送到阿里云
在这里插入图片描述
在这里插入图片描述

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

直接复制粘贴脚本文件就可以。
在这里插入图片描述
在这里插入图片描述

5 后记

三米粥铺有的店好吃,有的店不好吃!

BB啊,如果我的文档对您有帮助的话,记得帮我点赞赞~

谢谢您~

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

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

相关文章

基于SpringBoot+Vue+MySQL的实践性教学系统

系统展示 用户前台界面 后台界面 系统背景 随着信息技术的快速发展,企业对于高效、智能的管理系统需求日益迫切。传统的管理系统大多采用单机版或C/S架构,存在操作复杂、维护困难、数据共享性差等问题。而基于SpringBootVueMySQL的全栈管理系统&#xff…

【10分钟本地部署大语言模型】借助1Panel、MaxKb、Ollama快速部署大语言模型(qwen、llama等)及知识库

前言: 本文介绍一种快速在Linux服务器(windows使用wsl也可以)上部署大语言模型(含知识库)的方式。 核心内容如下: 1Panel: 开源的Linux 服务器运维管理面板,通过该面板安装ollama和…

Serv00 免费虚拟主机 零成本搭建 PHP / Node.js 网站

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 Serv00 是一个提供免费虚拟主机的平台,包含了 3GB 的存储空间和 512MB 的内存空间,足够我们搭建一个 1IP 的小网站了。同时他还不限制每月的流量,并提供了 16 个数据库&…

进程间通信(一)管道

文章目录 进程间通信进程间通信概述进程间通信的方式管道通信示例--基于管道的父子进程通信示例--使用管道进程兄弟进程通信 管道的读写特性示例--不完整管道(读一个写端关闭的管道)示例--不完整管道(写一个读端关闭的管道) 标准库…

PyQt 入门教程(3)基础知识 | 3.1、使用QtDesigner创建.ui文件

文章目录 一、使用QtDesigner创建.ui文件1、创建.ui文件2、生成.py文件3、使用新生成的.py文件4、编辑新生成的.py文件 一、使用QtDesigner创建.ui文件 1、创建.ui文件 打开PyCharm,使用自定义外部工具QtDesigner创建mydialog.ui文件,如下: …

大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全

大家现在访问网络,浏览网页,注意一下的话,网址前面基本上都是一个 https:// 的前缀,这里就是说明这个网址所采用的协议是 https 协议。那么具体应该怎么理解 https 呢? 本文我们就力争能清楚地解释明白这个我们目前应该最广的协议。 理解HTTP协议 要解释 https 协议,当…

[mysql]聚合函数GROUP BY和HAVING的使用和sql查询语句的底层执行逻辑

#GROUP BY的使用 还是先从需求出发,我们现在想求员工表里各个部门的平均工资,最高工资 SELECT department_id,AVG(salary) FROM employees GROUP BY department_id 我们就会知道它会把一样的id分组,没有部门的就会分为一组,我们也可以用其他字段来分组,我们想查询不同jb_id…

动力电池中的基础知识总结

动力电池基础 基本定义 电池的分类方式多样,按工作特性和储存方式分类 一次电池(Primary Battery):只能进行一次放电(disposable or single-use batteries),放电后不能通过充电的方式使其恢复…

Postgresql pgsql 插件之postgis 安装配置

相关链接: pgsql编译安装 一、说明 postgis是pgsql最强大的几个插件之一,可以用于地理信息系统(gis)的搭建 二、插件安装启动 由于我的pgsql是编译安装的,所以插件也是编译安装,更加灵活。 1.进入到源…

草地杂草数据集野外草地数据集田间野草数据集YOLO格式VOC格式目标检测计算机视觉数据集

一、数据集概述 数据集名称:杂草图像数据集 数据集是一个包含野草种类的集合,其中每种野草都有详细的特征描述和标记。这些数据可以包括野草的图片、生长习性、叶片形状、颜色等特征。 1.1可能应用的领域 农业领域: 农业专家和农民可以利用这一数据集来…

IDEA无法生成自动化序列serialVersionUID及无法访问8080端口异常的解决方案

作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:IDEA 今天是1024程序员节,先祝大家节日快乐! 无法生成自动化序列serialVersionUID 如果我们在idea当中想要通过generate来生成自动化序列,如下图…

Nest.js 实战 (十五):前后端分离项目部署的最佳实践

☘️ 前言 本项目是一个采用现代前端框架 Vue3 与后端 Node.js 框架 Nest.js 实现的前后端分离架构的应用。Vue3 提供了高性能的前端组件化解决方案,而 Nest.js 则利用 TypeScript 带来的类型安全和模块化优势构建了一个健壮的服务端应用。通过这种技术栈组合&…

智慧升级,知识无界:十大搭建知识库软件助你前行

在知识爆炸的时代,如何高效地管理、整合与利用信息,成为了个人与企业发展的核心竞争力。智慧升级,意味着我们不仅要掌握丰富的知识,更要学会运用工具,让知识无界流通,助力个人成长与企业创新。以下是精心挑…

全网最全开放式自动猫砂盆测评!魔铲、cewey、萌娃有什么区别?

最近我发现很多铲屎官在购买开放式自动猫砂盆时,总是会在cewey、魔铲、萌娃之间犹豫,不知道这三款自动猫砂盆到底有什么不同,盲选又怕选错,买了个祖宗回去,今天我就给大家好好说说,cewey、魔铲、萌娃之间&a…

SL3160 dcdc150V降压5.1V/1A 车载GPS定位器供电芯片

一、主要特性 宽输入电压范围:SL3160支持10~150V的宽输入电压范围,使其能够适应各种电源电压波动,确保稳定输出。 高效降压转换:该芯片采用先进的电源管理技术,转换效率高达90%以上,降低了散热压力和整体…

解决xhell连接虚拟机导致小键盘无法使用

我们在使用xhell连接虚拟机的时候经常会出现小键盘输入导致一些乱的字母输入,当然会解决方法也简单只需要在连接的时候调试下设置就好 1打开xhell(我的版本是xhell6) 2.创建连接3,选择vt模式-初始数字键盘模式-设置为普通 4.这些…

flutter 使用三方/自家字体

将字体放入assets/fonts下 在pubspec.yaml文件中flutter下添加如下代码: flutter:fonts:- family: MyCustomFontfonts:- asset: assets/fonts/MyCustomFont.ttf 在flutter Text widget中使用字体 import package:flutter/material.dart;void main() > runApp(…

【计网】深入理解网络通信:端口号、Socket编程及编程接口

目录 1.端口号 1.1.理解源 IP 地址和目的 IP 地址 1.2.认识端口号 1.3.端口号范围划分 1.4理解 "端口号" 和 "进程 ID" 2.socket编程 2.1.理解 socket 2.2.socket编程的概念 2.3. 传输层的典型代表 认识 TCP 协议 认识 UDP 协议 2.3 网络字节序…

常见的材料力学特性

材料特性参数 目录 一、弹性指标 1. 正弹性模量 2. 切变弹性模量 3. 比例极限 4. 弹性极限 二、强度性能指标 1. 强度极限 2. 抗拉强度 3. 抗弯强度 4. 抗压强度 5. 抗剪强度 6. 抗扭强度 7. 屈服极限(或者称屈服点) 8. 屈服强度 9. 持久…

【OpenAI】第六节(语音生成与语音识别技术)从 ChatGPT 到 Whisper 的全方位指南

前言 在人工智能的浪潮中,语音识别技术正逐渐成为我们日常生活中不可或缺的一部分。随着 OpenAI 的 Whisper 模型的推出,语音转文本的过程变得前所未有的简单和高效。无论是从 YouTube 视频中提取信息,还是将播客内容转化为文本,…