什么是base镜像
 
    不依赖其他镜像,从scratch构建。或者是其他可以作为基础镜像进行扩展镜像,比如各种Linux发行版的Docker镜像,比如CentOS、Ubuntu等。
 
    下面以CentOS镜像为例进行学习
 
 
    
    
 
    从Docker Hub上下载centos镜像,查看镜像信息,只有202MB ?!?!这么小,没搞错吧
 

 
    Linux操作系统由内核空间和用户空间组成,如下图:
 
    bootfs + rootfs
 
    内核空间对应的是kernel,Linux启动时会家在bootfs,之后会卸载bootfs。
    用户空间对应的是rootfs,包含我们熟悉的 /dev /proc /bin 等目录
 
    对于base镜像来说,地城直接用 Host 的kernel,自己只需要提供rootfs就行了
 
    对于一个精简的OS,rootfs可以很小,只需要包括最基本的命令、工具和程序库就可以了。相比其他Linux的发行版,CentOS的rootfs已经很臃肿了,alpine的还不到10MB
 
     
 
    base镜像提供的是最小安装的Linux发行版,下面是CentOS镜像的Dockerfile内容(可以在Docker Hub的镜像描述也中查看Dockerfile):
 
root@docker-lab:~# cat Dokcerfile
FROM scratch                    #    从零开始
ADD centos-7-docker.tar.gz /    #    添加centos7的rootfs到镜像中,ADD命令在添加的时候会自动解压到 / 目录,也就是创建 /dev /bin /etc 等
CMD ["/bin/bash"]               #    启动容器时运行bash环境
 
    不同Linux发行版的区别主要是rootfs,kernel差别不大,所以Docker Host上可以运行多种Linux发行版的容器
 
    
 
划重点:base镜像在用户空间与发行版一致,kernel必须也只能和Docker Host的kernel版本一致,因为他使用的就是Docker Host的kernel
 
 

010、base镜像 (2018-12-27 周四)的更多相关文章

  1. 第 3 章 镜像 - 010 - base 镜像

    base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubunt ...

  2. loli的测试-2018.12.9

    模拟赛-2018.12.9 这是NOIP之后第一次模拟赛...但是考的比较悲惨. 非常喜欢写考试总结,不知道为什么... T1:https://www.luogu.org/problemnew/sho ...

  3. base 镜像 - 每天5分钟玩转容器技术(10)

    上一节我们介绍了最小的 Docker 镜像,本节讨论 base 镜像. base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以,能称作 base ...

  4. 2018.12.02 Socket编程之初识Socket

    Socket编程主要分为TCP/UDP/SCTP三种,每一种都有各自的优点,所以会根据实际情况决定选用何种Socket,今天开始我将会逐步学习Socket编程,并将学习过程记录于此. 今天学习的是TC ...

  5. OPPO Developers Conference(2018.12.26)

    时间:2018.12.26地点:北京国家会议中心

  6. Tencent Cloud Developers Conference(2018.12.15)

    时间:2018.12.15地点:北京朝阳悠唐皇冠假日酒店

  7. 2018.12.1 Test

    目录 2018.12.1 Test A 串string(思路) B 变量variable(最小割ISAP) C 取石子stone(思路 博弈) 考试代码 B C 2018.12.1 Test 题目为2 ...

  8. Docker镜像中的base镜像理解

    base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ub ...

  9. 12.27 cf div3 解题报告

    12.27 cf div3 解题报告 wxy.wxy,带上分拉,全场做了个无脑小白 比赛场地 A: T1,跟着模拟就好了 B: sort一遍之后 去除的数一定是a[1]或者a[n] 比较去除谁小就输出 ...

随机推荐

  1. PHP + JS 实现大文件分割上传

    服务器上传文件会有一定的限制.避免内存消耗过大影响性能,在 php.ini 配置文件中,有几个影响参数: upload_max_filesize = 2M //PHP最大能接受的文件大小 post_m ...

  2. poj 1904(强连通分量+输入输出外挂)

    题目链接:http://poj.org/problem?id=1904 题意:有n个王子,每个王子都有k个喜欢的妹子,每个王子只能和喜欢的妹子结婚,大臣给出一个匹配表,每个王子都和一个妹子结婚,但是国 ...

  3. Oracle数据库导入导出 imp/exp备份还原

    Oracle数据导入导出imp/exp   Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于:   imp/exp 用户名/密 ...

  4. __add__运行过程

  5. Nginx PREACCESS阶段 如何限制每个客户端的并发连接数

    L:55 nginx.conf配置文件列子 limit_conn_zone $binary_remote_addr zone=addr:10m; #这里根据用户IP地址作为key做限制 并且名称为ad ...

  6. 13函数式编程&Stream流

    13.1常用的函数式接口总结   接口名称 方法名称 抽象/默认  延迟/终结 方法描述 Supplier get 抽象 终结 供给型接口,无参有返回值,主要用于 Consumer accept 抽象 ...

  7. Codeforces 741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree)

    感觉dsu on tree一定程度上还是与点分类似的.考虑求出跨过每个点的最长满足要求的路径,再对子树内取max即可. 重排后可以变成回文串相当于出现奇数次的字母不超过1个.考虑dsu on tree ...

  8. python 模块和包

    一,模块 1,什么是模块? 常见的场景: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py 的后缀. 但其实 import 加载的模块分为四个通用类别: 1,使用pyt ...

  9. jQuery添加和删除元素

    添加新的 HTML 内容 我们将学习用于添加新内容的四个 jQuery 方法: append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在 ...

  10. java常见面试题及答案

    java常见面试题及答案 来源 https://blog.csdn.net/hsk256/article/details/49052293 来源 https://blog.csdn.net/hsk25 ...