一、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镜像的分层 [九]的更多相关文章

  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. Bootstrap -- 初见 Bootstrap

    Bootstrap -- 初见 Bootstrap Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. ...

  2. docker 基础

    概述 起源 2013 年由 DotCloud 公司开源出来的容器管理工具 DotCloud 公司是一家 PAAS 服务提供商,从 docker 的出身也可以看出它的主要功能和方向 技术原理 开始时是基 ...

  3. MongoDB的搭建并配置主从以及读写分离

    1.环境准备  1.Centos7 2.mongodb3.4.93.三台机器IP分别是:10.170.1.16.10.170.1.18.10.170.1.33 2.mongdb数据库的安装 如下操作是 ...

  4. MySQL之ORM框架SQLAlchemy

    一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取 ...

  5. web框架开发-Django视图层

    视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...

  6. 转://11g之后,通过v$wait_chains视图诊断数据库hang和Contention

    1g之前,通常我们数据库hang住了之后,我们会对数据库做hang analyze来进行分析,在11g之后,我们可以通过一个新的视图v$wait_chains来诊断数据库hang和contention ...

  7. opn要求

    1.在公司 ♦可以通过阿里云的公网ip访问pg 2.不在公司 ♦需要连接VPN才可访问阿里云的公网ip的应用(假定pg),但是特别的应用不在公司也可直接访问(假定gitlab) 思路提示:vpn黑白名 ...

  8. mysql 报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executin

    解决办法1. 修改用户密码mysql> alter user 'root'@'localhost' identified by 'youpassword'; 或者 mysql> set p ...

  9. Stream02

    import 'package:flutter/material.dart';import 'dart:async';import 'dart:math'; void main()=>runAp ...

  10. Linux内存管理 (7)VMA操作

    专题:Linux内存管理专题 关键词:VMA.vm_area_struct.查找/插入/合并VMA.红黑树. 用户进程可以拥有3GB大小的空间,远大于物理内存,那么这些用户进程的虚拟地址空间是如何管理 ...