• Docker_Image


    • 镜像,轻量级,可执行的独立软件包
    • 用来打包软件运行环境和基于运行环境开发的软件
    • 包含了运行某个软件所需的所有内容
      • 代码
      • 运行库
      • 环境变量
      • 配置文件

    UnionFS

    联合文件系统

    union 联合文件系统 是一种分层轻量级 且 高性能的 文件系统

    支持对文件系统的修改作为一次提交来一层层叠加,同时可以将不同目录挂载到同一虚拟文件系统下

    UnionFS是docker镜像的基础

    镜像可以通过分层作为基础,基于镜像基础(没有父镜像),就可以制作各种具体的镜像

    特性

    • 一次同时加载多个文件系统,但是从外面看起来,只能看到一个文件系统
    • 联合加载会把各层文件系统叠加起来,最终文件系统会包含所有底层的文件和目录

    Docker 镜像加载原理

    bootfs

    • Linux刚启动就会加载bootfs文件系统
    • docker镜像的最底层是bootfs
    • 和典型的Linux/Unix系统一致,包含boot加载器和内核
    • 当boot加载完成后整个内核都在内存中
    • 此时的内存使用权已由bootloader转交给内核,系统就会卸载bootloader
    • bootloader
      • 主要引导和加载kernel
    • kernel
      • 加载之后,就会卸载bootloader

    rootfs

    在bootfs之上,包含的就是典型的/dev, /proc, /bin,/etc等标准目录和文件

    bootfs就是各种不同操作系统的发行版

    对于一个精简的OS,rootfs可以很小,只需要包含最基本的命令工具和程序库就可以

    因为底层直接使用Host的kernel,自己只需要提供rootfs就可以

    对于不同的Linux发行版,bootfs基本相同,rootfs会有差别,不同的发行版可以共用bootfs

        典型的Linux启动到运行需要两个FS – bootfs + rootfs 

      典型的Linux启动到运行需要两个FS – bootfs + rootfs

                          不同的发行版可以公用bootfs 

     

    Docker镜像采用分层结构

    • 共享资源
    • 多个镜像都是从Base镜像构建而来,宿主机只需要在磁盘上保存一份Base镜像,同时内容中也只需要加载一份Base镜像,就可以为所有容器服务
    • 镜像的每一层都可以被共享

    特点

    • 当容器启动时,一个新的可写层加载到镜像的顶部,这一层被称为“容器层”,容器层之下都是“镜像层,readonlyDocker

    Docker Commit 操作

    docker commit -m "提交的信息描述" -a "作者" 容器ID 要创建的目标镜像名:[tag]
    

    提交容器副本使之成为一个新的镜像

  • 相关阅读:
    1.tomcat部署项目的几种方式和weblogic部署方式及一点通讯
    C程序第二章节:算法
    java 代码第一天练习
    git生成公钥私钥
    sourceTree操作
    gradle插件安装
    gradle环境搭建
    bootstrap
    20170223
    大企业招聘真的是这样进行的吗?
  • 原文地址:https://www.cnblogs.com/ZhaoLong-study/p/13587038.html
Copyright © 2020-2023  润新知