Docker的核心3要素

了解了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/),存放了数量庞大的镜像供用户下载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值