当前位置:   article > 正文

Docker的核心3要素_简述docker核心要素

简述docker核心要素

了解了docker的由来之后,我们需要了解一下关于它的一些核心基础概念,以便于之后进行安装部署和使用时更好的理解。

首先,我们来看一下Dokcer大概工作流程,流程图如下:
docker的工作流程图

镜像

  • 容器的镜像实际上是一组只读文件的集合,使用的是联合文件系统,展示给用户看到的只有一层。
  • 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

docker镜像加载原理: docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。 bootfs(boot
file system)主要包含bootloader(引导加载程序)和kernel(内核),
bootloader主要是引导加载kernel,
Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是bootfs。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs。
rootfs (root file system) ,在bootfs之上。包含的就是典型 Linux 系统中的 /dev, /proc,
/bin, /etc 等标准目录和文件。rootfs就是各种不同的操作系统发行版,比如Ubuntu,Centos等等。

层文件说明

实际执行运行容器的资源组成变化,从“文件系统”变成在一个namespace下,分配对应的资源来运行进程。
镜像转变为容器
查看容器的实质,我们看到的最上面的可读写层的文件系统。
查看容器的实质
创建一个容器的层文件状态变化
层文件变化
将容器提交为镜像的层文件状态变化
容器转为镜像的层文件变化
基于dockerfile来创建文件过程。
执行build命令过程
在这里插入图片描述

容器

  • 容器使用镜像创建的运行实例。
  • 每个容器之间都是相互隔离的,保证平台的安全。
  • 容器运行所产生的数据如果没有进行持久化配置,删除容器时则会丢失。
  • 容器和虚拟机有着本质的区别,其中包含简易版的Linux运行环境(root用户权限、进程空间、用户空间和网络空间等),和运行在其中的应用程序。
  • 容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
    容器的层文件组成

仓库

  • 仓库(Repository)是集中存放镜像文件的场所。
  • 仓库(Repository)和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
  • 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
  • 最大的公开仓库是DockerHub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/73906
推荐阅读
相关标签
  

闽ICP备14008679号