Docker的底层技术有几种?各有什么含义?

Docker使用了一系列的底层技术来充分发挥其技术特色,这些底层技术包括有Namespaces、Control groups、Union file systems和Container format等,其具体含义如下。

1. Namespaces(名称空间)

Docker使用名称空间来为容器提供隔离的工作空间。当一个容器运行时,Docker就会为该容器创建一系列的名称空间,并为名称空间提供一层隔离。每一个容器都运行在相对隔离的环境下,对其他名称空间是相对受限的。

2.Control groups(控制组)

基于Linux系统的Docker引擎也依赖于另一项叫做Control groups(cgroups,控制组)的技术。控制组可以对程序进行资源限定,并允许Docker引擎在容器间进行硬件资源共享以及随时进行限制和约束,例如,开发者可以限制某特定容器的可用内存。

3.Union file systems(联合文件系统)

联合文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持将文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。不同Docker容器可以共享一些基础的文件系统层,与自己独有的改动层一起使用,可以大大的提高存储效率。Docker目前支持的联合文件系统包括AUFS、btrfs、 vfs 和 DeviceMapper。

4.Container format(容器格式)

Docker引擎将名称空间、控制组和联合文件系统组合成一个叫做容器格式的整体。当前默认的容器格式是libcontainer,未来Docker可能会通过与其他技术(如BSD Jails或者Solaris Zones)的集成使用来开发其他的容器格式。

需要注意的是,本节只是针对这些底层技术进行简要说明,读者只需了解即可。

Docker安装对开发平台的要求有哪些?

Docker支持在多种平台上使用,包括Mac、Windows、Cloud以及Linux系统上等。由于Docker是基于Ubuntu发布的,所以官方更推荐在Ubuntu上使用Docker,开发者也可以根据自己的实际开发环境选择合适的开发平台。

Docker的安装并非想象中那么随意,在不同的平台上安装Docker必须满足不同的先决条件。由于本书选择在Ubuntu16.04版本上使用Docker,因此这里只针对Ubuntu系统上的Docker安装要求进行说明。

根据Docker官网上的安装说明,想要在Ubuntu上安装Docker需要满足两点要求,一是Ubuntu的版本支持,二是Ubuntu的内核支持,具体如下。

1. Ubuntu的版本支持

● Ubuntu Trusty 14.04 (LTS)

● Ubuntu Xenial 16.04 (LTS)

● Ubuntu Zesty 17.04

● 其他更高的版本

2.Ubuntu的内核支持

Docker需要在64位版本的Ubuntu上安装。此外,还需要保证Ubuntu的内核版本不低于3.10(可以通过uname -r命令查看),其中3.10版本和更新维护版也是可以使用的,在低于3.10版本的内核上运行Docker会丢失一部分功能。

小提示:

上述版本和内核要求是对Docker全面支持的,也有一些开发者的版本或者系统无法满足条件,可以参考网上一些方法进行额外配置,达到满足Docker使用的需求,当然这种方法是不推荐的。

Docker入门到精通:

Docker容器化技术,从零学会Docker教程

Java最新课程:

Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题

Java基础入门:

java零基础自学首Java入门教程(含Java项目和Java真题)

Javaweb核心基础

JavaWeb基础教程,Java web从入门到企业实战完整版

Spring Cloud最全微服务架构

史上最全面的springcloud微服务技术栈

SSM框架教程:

SSM框架教程_Spring+SpringMVC+Maven高级+Spring

SpringBoot2全套视频教程:

SpringBoot2全套视频教程,springboot零基础到项目实战

你可能感兴趣的:(Java,docker,容器,运维,java,javaee)