当前位置: 首页 > news >正文

学习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.lryc.cn/news/468550.html

相关文章:

  • 一文掌握Kubernates核心组件,构建智能容器管理集群
  • 正则表达式快速入门
  • 【小程序】-基础语法(二)
  • js 填充数组
  • AI创作3款软件分享,助力内容创作者高效产出优质作品
  • A survey of loss functions for semantic segmentation——论文笔记
  • docker部署es与kibana Mac
  • redis的渐进式哈希?说一下细节?------面试题分享
  • javaWeb项目-springboot+vue-车辆管理系统功能介绍
  • redis和memcached的区别
  • 构建安全基石:网络安全等级保护定级指南
  • PyQt 入门教程(3)基础知识 | 3.1、使用QtDesigner创建.ui文件
  • 解锁金融大门,你的基从备考秘籍全揭秘!
  • 详解Linux系统中的设备驱动程序.ko文件
  • MG协议转换器:高效连接,智控未来
  • pycharm设置自动格式化代码
  • AI应用程序低代码构建平台Langflow
  • QT-使用QSS美化UI界面
  • 【程序员笔记】-- 常用开发工具汇总
  • 基于SSM考研助手系统的设计
  • 【MacOS】RocketMQ 搭建Java客户端
  • 前端学习---(5)js基础--3
  • Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
  • 如何开发属于自己的Hoobuy跨境独立站
  • java智能物流管理系统源码(springboot)
  • 全新语音图像数据集,以高质量训练数据加速提升模型性能
  • 基于Springboot在线视频网站的设计与实现
  • vue富文本使用editor
  • Spring Boot植物健康系统:绿色科技的创新引擎
  • 什么是域名?什么是泛域名?