一、概述

容器化技术从大方向来看,可分为容器化运行技术和容器化编排技术

container 以把容器管理系统分为三层:

1.1. 容器管控的 UI 层(High-level Container Management)

直接实现容器的管控和使用界面,也是用户最熟悉的子系统。

1.2. 容器状态及资源供给(High-level Container Runtime)

包括镜像管理、网络接入、容器状态、调用Low Level Runtime执行容器等功能。习惯上这层称之为容器引擎(Container Engine)。

1.3. 容器执行层(Low-level Container Runtime)

负责具体构建容器运行环境并执行容器进程。习惯上这层直接简称为容器运行时(Container Runtime)。

High-level Container Management 和 Container Engine 之间的接口规范是 CRI,Container Engine 和 Container Runtime 之间的接口规范是 OCI

二、容器运行时技术

2.1. Docker

Docker 是一种容器化运行技术或平台,基于 Linux 内核的 cgroup 和 namespace,对进程进行了封装隔离,属于操作系统层面虚拟化技术。它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。

三、容器编排技术

容器编排是指对多个容器的部署,管理和监控,目前比较流行的容器编排工具包括 Docker Swarm,Kubernetes 和 Mesos+Marathon

3.1. Swarm

Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务。

3.2. Kubernetes

Kubernetes 可以提供⽤户所需的容器部署,管理和扩缩容等编排功能。借助 Kubernetes 的编排功能,⽤户可以构建多个容器的应⽤服务,跨集群调度、扩展这些容器,并长期持续管理这些容器和检测健康状况。

四、学习

4.1. 大厂分享

五、参考

5.1. 书籍

5.2. 课程

5.3. 博客

  1. https://blog.51cto.com/u_15682248/5788421