zoukankan      html  css  js  c++  java
  • 深刻理解 Docker 镜像大小

    镜像共享关系

    Docker 镜像说大不大,说小不小,但是一旦镜像的总数上来之后,岂不是对本地磁盘造成很大的存储压力?平均每个镜像 500 MB,岂不是 100 个镜像就需要准备 50 GB 的存储空间?

    结果往往不是我们想象的那样,Docker 在镜像复用方面设计得非常出色,大大节省镜像占用的磁盘空间。Docker 镜像的复用主要体现在多个不同的 Docker 镜像可以共享相同的镜像层。

    假设本地镜像存储中只有一个 ubuntu:14.04 的镜像,我们以两个 Dockerfile 来说明镜像复用:

    FROM ubuntu:14.04
    RUN apt-get update 
    FROM ubuntu:14.04
    ADD compressed.tar / 
    

    假设最终 docker build 构建出来的镜像名分别为 image 1 和 image 2 ,由于两个 Dockerfile 均基于 ubuntu:14.04 ,因此,image 1 和 image 2 这两个镜像均复用了镜像 ubuntu:14.04 。 假设 RUN apt-get update 修改的文件系统内容为 20 MB,最终本地三个镜像的大小关系应该如下:

    ubuntu:14.04 : 200 MB

    image 1 :200 MB(ubuntu:14.04 的大小)+ 20 MB = 220 MB

    image 2 :200 MB(ubuntu:14.04 的大小)+ 100 MB = 300 MB

    如果仅仅是单纯的累加三个镜像的大小,那结果应该是:200 + 220 + 300 = 720 MB,但是由于镜像复用的存在,实际占用的磁盘空间大小是:200 + 20 + 100 = 320 MB,足足节省了 400 MB 的磁盘空间。在此,足以证明镜像复用的巨大好处。

    来自:地址

  • 相关阅读:
    每日一个设计模式之策略模式
    Java发送get和post请求
    sql分组取最大值
    解析xml
    jsp:include
    schema的详解2
    文法和语言
    高级语言程序简介
    Dataframe根据某一列的值获取满足条件的行的其他列的值
    Dataframe数值转为二维列表
  • 原文地址:https://www.cnblogs.com/famine/p/13895804.html
Copyright © 2011-2022 走看看