Docker:dockerfile镜像的分层 [九]
一、docker镜像的分层
1、图像呈现
2、命令呈现
[root@oldboy kod]# docker image history kod:v1
IMAGE CREATED CREATED BY SIZE COMMENT
25f70cb6dec6 42 minutes ago /bin/sh -c #(nop) CMD ["/bin/bash" "/init.s… 0B
2c08007784ad 42 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B
beea547494c2 42 minutes ago /bin/sh -c #(nop) ADD file:9fded30cd1519b8d3… 70B
0accf7a7f519 42 minutes ago /bin/sh -c chmod -R 777 /var/www/html 46.2MB
c8431307a174 42 minutes ago /bin/sh -c unzip kodexplorer4.37.zip 32.4MB
3c55f532dca0 42 minutes ago /bin/sh -c #(nop) COPY file:c0ede8b6cbebd456… 13.8MB
138f23faf452 2 hours ago /bin/sh -c #(nop) WORKDIR /var/www/html 0B
84e186c5a38f 2 hours ago /bin/sh -c yum install httpd php php-cli unz… 124MB
e88c611d16a0 3 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 3 months ago /bin/sh -c #(nop) LABEL name=CentOS Base Im… 0B
<missing> 3 months ago /bin/sh -c #(nop) ADD file:b99efdfca7b4df4ef… 195MB
二、镜像分层的好处
1、分层的好处:
共享资源,节省资源
有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了
2、在构建中的截图
三、dockerfile中run的原理
1、目录层级呈现
[root@oldboy layerdb]# pwd
/var/lib/docker/image/overlay2/layerdb
[root@oldboy layerdb]# tree
.
├── mounts
│?? └── f2e286474958ee74a06328fadc4a1839a09bb4fdb8ed1f66c649881b6cff5494
│?? ├── init-id
│?? ├── mount-id
│?? └── parent
├── sha256
│?? ├── 002679450ec12ca6a1d3bc0ef546ba7f85473cc636dbd4d9b903f09f674f7cc6
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── 6a7858bdc1779c5035b615ac39738d0f40a147280f90241829c73af1779ff248
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── 98ce75898ea99aa8be599a25310488bf433b5289ca684180c0cdea545f29f67a
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── 9d114c8578095cdd3c1660928c3cca65cd7c241b66fd2a426a3a52845b5cd4ca
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── b5e11aae8a8e8fab750bd384393aafa379e21c57c398f5dd4980cd01fcf55b9e
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? └── fbda96ca5467cc519d850984c8f3df6973c5ea9a0f7b22ac516576adcc0a5137
│?? ├── cache-id
│?? ├── diff
│?? ├── parent
│?? ├── size
│?? └── tar-split.json.gz
└── tmp
2、截图呈现
四、docker的简单总结
Docker:dockerfile镜像的分层 [九]的更多相关文章
- Docker dockerfile镜像编码
一. 大多数docker基础镜像使用locale查看编码,发现默认编码都是POSIX,这会导致中文乱码.解决方法如下: 二.首先使用locale -a查看容器所有语言环境 三.dockerfile中加 ...
- Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化
Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...
- docker学习系列(三):docker镜像的分层结构
docker的镜像分层 docker里的镜像绝大部分都是在别的镜像的基础上去进行创建的,也就是使用镜像的分层结构. 实验 比如说使用dockerfile去创建一个最简单的hello镜像.创建好对应的d ...
- Docker Dockerfile 定制镜像(转)
转自: https://yeasy.gitbooks.io/docker_practice/ 及 https://blog.csdn.net/wo18237095579/article/details ...
- docker镜像的分层结构三
docker的镜像分层 docker里的镜像绝大部分都是在别的镜像的基础上去进行创建的,也就是使用镜像的分层结构. 实验 比如说使用dockerfile去创建一个最简单的hello镜像.创建好对应的d ...
- Docker Dockerfile 定制镜像
使用 Dockerfile 定制镜像 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么无法重复的问题 ...
- 庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署
庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署 一.简介 我们在上一篇文章<庐山真面目之八微服务架构 NetCore 基于 Dockerfile ...
- Docker源码分析(九):Docker镜像
1.前言 回首过去的2014年,大家可以看到Docker在全球刮起了一阵又一阵的“容器风”,工业界对Docker的探索与实践更是一波高过一波.在如今的2015年以及未来,Docker似乎并不会像其他昙 ...
- docker基础_docker镜像与分层
docker镜像与分层 docker镜像由一些松耦合的制度镜像层组成 docker负责堆叠这些镜像层并将它们表示为单个统一的对象 当 docker image pull ubuntu:latest 时 ...
随机推荐
- SSH远程登录原理
使用ssh主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录 密码口令登录 通过密码进行登录,主要流程为: 1.客户端连接上服务器之后,服务器把自己的公钥传给客户端 2.客户端输入服务器密码通 ...
- GoldenDict词典的超级实用高级玩法----全文搜索功能
快捷键: Ctrl+Shift+F 菜单进入:搜索--全文搜索 模式:正则表达式 比如:我想知道地道的英文表达 请xx天/周/年假 给搜索框写入正则表达式 请(.)(天|周|年)假 就可以了 ...
- 使用Java反射优化多个方法调用
有段时间没来写博客了,心里一直念叨空了来,今天有时间来记录一篇.前段时间领导提出优化部分系统模块,根据业务要求系统中有很多产品,产品下面有N个指标,一个指标就对应一个方法,所以系统代码中就是这样一个情 ...
- Python基础之协程
阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程.进程的概念,了解了在操作系统中 进程是资源分配的最小单位,线程是CPU调度的最小单位. 按道 ...
- 新数据革命: 开源C#图形化爬虫引擎Hawk5发布
https://ferventdesert.github.io/Hawk/ Hawk是一款由沙漠之鹰历时五年个人业余时间开发的,开源图形化爬虫和数据清洗工具,GitHub Star超过2k+,前几代版 ...
- JavaScript 面向对象之原型对象
原型的概述 我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法. 逻辑上可以这么理解:prototype 通过调用构 ...
- pydensecrf的inference.py代码的学习
https://github.com/lucasb-eyer/pydensecrf/blob/master/examples/inference.py 1.运行 先运行看看实现的结果: (deeple ...
- mac 版 Pycharm 激活
mac 版 Pycharm 激活 获取注册码地址: http://idea.lanyus.com 输入注册码之后可能会报 this license XXXXXXXX has been cancel ...
- Guava Cache探索及spring项目整合GuavaCache实例
背景 对于高频访问但是低频更新的数据我们一般会做缓存,尤其是在并发量比较高的业务里,原始的手段我们可以使用HashMap或者ConcurrentHashMap来存储. 这样没什么毛病,但是会面临一个问 ...
- .Net Core应用框架Util介绍(三)
上篇介绍了Util的开发环境,并让你把Demo运行起来.本文将介绍该Demo的前端Angular运行机制以及目录结构. 目录结构 在VS上打开Util Demo,会看见如下的目录结构. 现代前端通常采 ...