• docker镜像之base镜像


    1、base镜像的特性是什么?

    1、不依赖其他镜像,从 scratch 构建。
    2、其他镜像可以之为基础进行扩展。
    能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等

    2、docker cnetos的镜像大小200多M,和平时的所用的发行版的大小(几G)相差很大,为什么?

    Linux 操作系统由内核空间和用户空间组成
    内核空间是 kernel,Linux 刚启动时会加载 bootfs 文件系统,之后 bootfs 会被卸载掉。
    用户空间的文件系统是 rootfs,包含我们熟悉的 /dev, /proc, /bin 等目录。
    对于 base 镜像来说,底层直接用 Host 的 kernel,自己只需要提供 rootfs 就行了。
    而对于一个精简的 OS,rootfs 可以很小,只需要包括最基本的命令、工具和程序库就可以了。相比其他 Linux 发行版,CentOS 的 rootfs 已经算臃肿的了,alpine 还不到 10MB。
    我们平时安装的 CentOS 除了 rootfs 还会选装很多软件、服务、图形桌面等,需要好几个 GB 就不足为奇了。
    base 镜像提供的是最小安装的 Linux 发行版。

    3、为什么可以支持运行多种Linux OS?

    不同 Linux 发行版的区别主要就是 rootfs。
    比如 Ubuntu 14.04 使用 upstart 管理服务,apt 管理软件包;而 CentOS 7 使用 systemd 和 yum。这些都是用户空间上的区别,Linux kernel 差别不大。
    所以 Docker 可以同时支持多种 Linux 镜像,模拟出多种操作系统环境。

    4、容器的base镜像的的用户空间的版本和kernel版本为啥不同?

    base 镜像只是在用户空间与发行版一致,kernel 版本与发型版是不同的。
    容器只能使用 Host 的 kernel,并且不能修改。

    5、什么场景下不适合用容器?

    所有容器都共用 host 的 kernel,在容器中没办法对 kernel 升级。如果容器对 kernel 版本有要求(比如应用只能在某个 kernel 版本下运行),则不建议用容器,这种场景虚拟机可能更合适。

    6、如何启动并进行centos容器?

    sudo docker run -it centos

  • 相关阅读:
    JavaScript OOP 思想
    单页界面和 AJAX 模式
    jQuery 的 ready 函数是如何工作的?
    Dojo系列教程
    谈谈javascript语法里一些难点问题(一)
    2014年总结、2015年的小计划--女生程序员小感想
    Android名词解释
    【JS】defer / async
    关于对defer的理解.
    defer和async的区别
  • 原文地址:https://www.cnblogs.com/Richardo-M-Q/p/13969570.html
Copyright © 2020-2023  润新知