1.概念区分(虚拟机/容器/docker)
概念:
虚拟机:将一台物理设备虚拟为多个逻辑设备,每个逻辑设备可运行不同的操作系统,且应用程序都可以在相互独立的空间内运行而互不影响。
容器:一种轻量级的虚拟化技术,为了创造“隔离环境”。容器采用的是进程级的系统隔离,相互之间不会有任何接口。
docker:一个开源的应用容器引擎,让开发者打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行 操作系统的机器上,可以实现虚拟化。
不同:
特性 | 虚拟机 | 容器 |
启动 | 分钟级 | 秒级 |
硬盘使用 | GB | MB |
性能 | 弱于 | 接近原生 |
系统并发量 | 一般十几个 | 单机支持上千个容器 |
运行形态 | 运行于Hypervisior | 运行在宿主机内核,共享linux内核 |
虚拟化方式 | 硬件层面实现 | 操作系统层面,复用宿主机OS |
资源复用率 | 低 | 高 |
隔离性 | 单机无法有效隔离 | 进程级别隔离 |
2.容器历史发展
3.容器技术架构(docker为例)
■ Docker 镜像:只读模板,镜像可以用来创建或更新 Docker 容器。例:官方镜像ubuntu:18.04就包含了一套Ubuntu18.04最小系统的root文件系统。
■ Docker 容器:Docker利用容器来运行应用。容器是从镜像创建的运行实例 ,它可以被启动、开始、停止、删除。
■ Docker 仓库:仓库是集中存放镜像文件的场所。
4.容器编排技术
容器编排是指对多个容器的部署,管理和监控。DockerCompose与dockerSwarm组合成为一个完整的编排调度系统
5.容器编排调度框架(DockerCompose+DockerSwarm为例)
6.镜像仓库
镜像仓库是集中存放镜像文件的场所。
重点讲述:docker容器技术在支撑环境及打包构建部分的应用