1.docker基础概念

1.docker基础介绍

docker基于容器技术的轻量级虚拟化解决方案。go语言实现
Docker 中包括三个基本的概念:
Image(镜像)(类)
Container(容器)(实例,实质是进程)
Repository(仓库:存放镜像的地方)

容器运行着由镜像定义的系统。这些镜像由一个或多个层(或差异集)加上一些Docker的元数据组成。
镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是 Docker 的核心。

镜像(Image):一个特殊的文件系统(文件系统层和一些元数据的集合)
镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

容器(Container):实质是进程,运行于属于自己的独立的命名空间。是镜像的运行实例。
容器,从认识上来说,就是类创建的实例,就是依据镜像这个模板创建出来的实体。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。容器可以被创建、启动、停止、删除、暂停等。

容器与镜像的关系类似于面向对象编程中的对象与类。

仓库(Repository)
仓库,从认识上来说,就好像软件包上传下载站,有各种软件的不同版本被上传供用户下载。镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。

2.docker为啥么比vm快

在这里插入图片描述
2.1 docker比vm有着更少的抽象层
2.2 docker利用的是宿主机的内核,vm需要Guest OS

VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,然后再安装应用;分钟级

Container(Docker容器),在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装应用. 秒级

3.联合文件系统 UFS

3.1 镜像为啥这么大?
一个软件镜像 不仅仅是原来的软件包,还包含软件包所需的操作系统 软件自身的依赖 以及自身软件包组成。

3.2为什么docker镜像采用分层镜像原理?
docker在设计镜像时,每一个镜像都是由n个镜像组合而成。

docker镜像 的实质是由一层一层的文件系统 UFS 组成

3.2 为什么要采用联合文件系统?
资源共享,复用。采用分层机制实现基础层共享,从而减小docker仓库整体体积。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值