# Docker基础入门
# 概念及定义
Docker:它是一个开源的软件项目,在Linux操作系统上,Docker提供了一个额外的软件抽象层及操作系统层虚拟化的自动管理机制。
# 虚拟化的发展历程
物理机时代:
- 安装系统
- 依赖环境
- 应用程序
- 加入物理机以增加并发量,还要重复上述步骤
虚拟机时代:
- 把一个物理机虚拟为多个机器
- 把依赖环境打成一个系统模板(省去安装依赖环境步骤)
- 缺点:占用系统资源多,启动虚拟机所需时间多,分钟级启动等
- 代表:KVM、Xen
容器化时代:
- 镜像为基础
- 依赖环境镜像
- Java基础镜像
- PHP基础镜像
- 根据基础镜像 - 放入自己的代码或者包
- 生成一个新镜像
- 程序镜像
- 镜像 - 按层存储
- A应用 - Java -> JDK1.8 => a.jar
- B应用- Java -> JDK1.8 => b.jar
- A、B应用的基础镜像层是在存储上是共用的
- 启动时间少,妙计启动
- 依赖环境镜像
- 容器:把自己的应用程序,根据某个依赖的基础镜像,生成一个应用程序镜像,可以运行在任何部署Docker环境的机器上
- 代表:Docker