定义:
容器是一种轻量级操作系统层面的虚拟机,它为应用软件及其依赖组件提供了一个资源独立的运行环境。应用软件所依赖的组件会被打包成一个可重用的镜像,镜像运行环境并不会与主操作系统共享内存、CPU和硬盘空间,由此也保证了容器内部的进程与容器外部进程的独立关系。
e.g.跑车(程序)放到集装箱(容器),从港口1(环境1)运送到港口2(环境2),跑车在集装箱中未损坏且到了新港口就可以开车(程序完好且可以运行)。
优点:
1.轻量
2.容易移植
3.快速部署
4.弹性伸缩
5.安全
6.好管理
标准:
1.容器运行时标准:
a). creating:使用 create 命令创建容器,这个过程称为创建中 b). created:容器创建出来,但是还没有运行,表示镜像和配置没有错误,容器能够运行在当前平台 c). running:容器的运行状态,里面的进程处于 up 状态,正在执行用户设定的任务 d). stopped:容器运行完成,或者运行出错,或者 stop 命令之后,容器处于暂停状态。这个状态,容器还有很多信息保存在平台中,并没有完全被删除
2.容器镜像标准:
a). 文件系统:以 layer 保存的文件系统,每个 layer 保存了和上层之间变化的部分,layer 应该保存哪些文件,怎么表示增加、修改和删除的文件等; b). config 文件:保存了文件系统的层级信息(每个层级的 hash 值,以及历史信息),以及容器运行时需要的一些信息(比如环境变量、工作目录、命令参数、mount 列表),指定了镜像在某个特定平台和系统的配置。比较接近我们使用 docker inspect
主要应用场景:
- 容器化传统应用 容器不仅能提高现有应用的安全性和可移植性,还能节约成本。
- 持续集成和持续部署 (CI/CD) 通过 Docker 加速应用管道自动化和应用部署,交付速度提高至少 13 倍。
- 微服务 加速应用架构现代化进程。
- IT 基础设施优化 充分利用基础设施,节省资金。