一、docker镜像的分层

1、图像呈现

2、命令呈现

  1. [root@oldboy kod]# docker image history kod:v1
  2. IMAGE CREATED CREATED BY SIZE COMMENT
  3. 25f70cb6dec6 42 minutes ago /bin/sh -c #(nop) CMD ["/bin/bash" "/init.s… 0B
  4. 2c08007784ad 42 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B
  5. beea547494c2 42 minutes ago /bin/sh -c #(nop) ADD file:9fded30cd1519b8d3… 70B
  6. 0accf7a7f519 42 minutes ago /bin/sh -c chmod -R 777 /var/www/html 46.2MB
  7. c8431307a174 42 minutes ago /bin/sh -c unzip kodexplorer4.37.zip 32.4MB
  8. 3c55f532dca0 42 minutes ago /bin/sh -c #(nop) COPY file:c0ede8b6cbebd456… 13.8MB
  9. 138f23faf452 2 hours ago /bin/sh -c #(nop) WORKDIR /var/www/html 0B
  10. 84e186c5a38f 2 hours ago /bin/sh -c yum install httpd php php-cli unz 124MB
  11. e88c611d16a0 3 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
  12. <missing> 3 months ago /bin/sh -c #(nop) LABEL name=CentOS Base Im… 0B
  13. <missing> 3 months ago /bin/sh -c #(nop) ADD file:b99efdfca7b4df4ef… 195MB

二、镜像分层的好处

1、分层的好处:

共享资源,节省资源
有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了

2、在构建中的截图

三、dockerfile中run的原理

1、目录层级呈现

  1. [root@oldboy layerdb]# pwd
  2. /var/lib/docker/image/overlay2/layerdb
  3. [root@oldboy layerdb]# tree
  4. .
  5. ├── mounts
  6. │?? └── f2e286474958ee74a06328fadc4a1839a09bb4fdb8ed1f66c649881b6cff5494
  7. │?? ├── init-id
  8. │?? ├── mount-id
  9. │?? └── parent
  10. ├── sha256
  11. │?? ├── 002679450ec12ca6a1d3bc0ef546ba7f85473cc636dbd4d9b903f09f674f7cc6
  12. │?? │?? ├── cache-id
  13. │?? │?? ├── diff
  14. │?? │?? ├── parent
  15. │?? │?? ├── size
  16. │?? │?? └── tar-split.json.gz
  17. │?? ├── 6a7858bdc1779c5035b615ac39738d0f40a147280f90241829c73af1779ff248
  18. │?? │?? ├── cache-id
  19. │?? │?? ├── diff
  20. │?? │?? ├── parent
  21. │?? │?? ├── size
  22. │?? │?? └── tar-split.json.gz
  23. │?? ├── 98ce75898ea99aa8be599a25310488bf433b5289ca684180c0cdea545f29f67a
  24. │?? │?? ├── cache-id
  25. │?? │?? ├── diff
  26. │?? │?? ├── parent
  27. │?? │?? ├── size
  28. │?? │?? └── tar-split.json.gz
  29. │?? ├── 9d114c8578095cdd3c1660928c3cca65cd7c241b66fd2a426a3a52845b5cd4ca
  30. │?? │?? ├── cache-id
  31. │?? │?? ├── diff
  32. │?? │?? ├── parent
  33. │?? │?? ├── size
  34. │?? │?? └── tar-split.json.gz
  35. │?? ├── b5e11aae8a8e8fab750bd384393aafa379e21c57c398f5dd4980cd01fcf55b9e
  36. │?? │?? ├── cache-id
  37. │?? │?? ├── diff
  38. │?? │?? ├── size
  39. │?? │?? └── tar-split.json.gz
  40. │?? └── fbda96ca5467cc519d850984c8f3df6973c5ea9a0f7b22ac516576adcc0a5137
  41. │?? ├── cache-id
  42. │?? ├── diff
  43. │?? ├── parent
  44. │?? ├── size
  45. │?? └── tar-split.json.gz
  46. └── tmp

2、截图呈现

四、docker的简单总结

Docker:dockerfile镜像的分层 [九]的更多相关文章

  1. Docker dockerfile镜像编码

    一. 大多数docker基础镜像使用locale查看编码,发现默认编码都是POSIX,这会导致中文乱码.解决方法如下: 二.首先使用locale -a查看容器所有语言环境 三.dockerfile中加 ...

  2. Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化

    Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...

  3. docker学习系列(三):docker镜像的分层结构

    docker的镜像分层 docker里的镜像绝大部分都是在别的镜像的基础上去进行创建的,也就是使用镜像的分层结构. 实验 比如说使用dockerfile去创建一个最简单的hello镜像.创建好对应的d ...

  4. Docker Dockerfile 定制镜像(转)

    转自: https://yeasy.gitbooks.io/docker_practice/ 及 https://blog.csdn.net/wo18237095579/article/details ...

  5. docker镜像的分层结构三

    docker的镜像分层 docker里的镜像绝大部分都是在别的镜像的基础上去进行创建的,也就是使用镜像的分层结构. 实验 比如说使用dockerfile去创建一个最简单的hello镜像.创建好对应的d ...

  6. Docker Dockerfile 定制镜像

    使用 Dockerfile 定制镜像  镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么无法重复的问题 ...

  7. 庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署

    庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署 一.简介      我们在上一篇文章<庐山真面目之八微服务架构 NetCore 基于 Dockerfile ...

  8. Docker源码分析(九):Docker镜像

    1.前言 回首过去的2014年,大家可以看到Docker在全球刮起了一阵又一阵的“容器风”,工业界对Docker的探索与实践更是一波高过一波.在如今的2015年以及未来,Docker似乎并不会像其他昙 ...

  9. docker基础_docker镜像与分层

    docker镜像与分层 docker镜像由一些松耦合的制度镜像层组成 docker负责堆叠这些镜像层并将它们表示为单个统一的对象 当 docker image pull ubuntu:latest 时 ...

随机推荐

  1. SQLServer之创建分区视图

    分区视图定义 分区视图是通过对成员表使用 UNION ALL 所定义的视图,这些成员表的结构相同,但作为多个表分别存储在同一个 SQL Server实例中,或存储在称为联合数据库服务器的自主 SQL ...

  2. 网络中的NAT模式

    一.概述 NAT英文全称是"Network Address Translation",中文意思是"网络地址转换",它是一个IETF(Internet Engin ...

  3. 宋宝华:Docker 最初的2小时(Docker从入门到入门)【转】

    最初的2小时,你会爱上Docker,对原理和使用流程有个最基本的理解,避免满世界无头苍蝇式找资料.本人反对暴风骤雨式多管齐下狂轰滥炸的学习方式,提倡迭代学习法,就是先知道怎么玩,有个感性认识,再深入学 ...

  4. CVE-2018-8120 分析

    目录 CVE-2018-8120 分析 1.实验环境 1.1.操作系统 1.2.用到的分析工具 2.假如 2.1.我想提权 2.2. 有一个处于内核空间,极少被调用的函数 2.3.R3任意修改R0地址 ...

  5. 目录命令(RD)

    RD命令: // 描述: 删除目录或子目录.同 rmdir // 语法: rd [<drive:>]<path> /s /q /? // 参数: /s: (subdirecto ...

  6. 5.6Python数据处理篇之Sympy系列(六)---矩阵的操作

    目录 目录 前言 (一)矩阵的创建-Matrix() 1.说明: 2.源代码: 3.输出: (二)常用的构造矩阵 1.说明: 2.源代码: 3.输出: (三)基本操作 1.说明: 2.源代码: 3.输 ...

  7. MongoDB的常用命令和增查改删

    数据库操作 Mongodb MySQL 查询库 show databases | show dbs show databases 选中库 use databaseName use databaseNa ...

  8. vue 组件中的钩子函数 不能直接写this

    export default { data(){ return { num: 18 } }, beforeRouteEnter(to, from, next){ next(vm=>{ vm.nu ...

  9. 好程序员分享ApacheSpark常见的三大误解

    误解一:Spark是一种内存技术 大家对Spark最大的误解就是其是一种内存技术(in-memorytechnology).其实不是这样的!没有一个Spark开发者正式说明这个,这是对Spark计算过 ...

  10. richedit缩放

    本程序下载地址: 要使文本在richedit控件上进行放大缩小,可以通过设置字体的大小,从而来达到缩放文本的目的. 下面是一个例子:通过调整滚动条,从而控制richedit文本缩放. 程序运行结果如下 ...