初识Docker
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。
项目问题
大型项目组件较多,运行环境也比较复杂,部署时回碰到一些问题:
- 依赖关系复杂,容易出现兼容性问题
- 开发、测试、生产环境有差异
Docker是如何解决依赖兼容性问题的?
- 将应用的Libs(函数库)、Deps(依赖)、配置与每个应用一起打包
- 将每个应用放到一个隔离容器去运行,避免互相干扰
Docker与虚拟机
虚拟机(virtual machine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在Windows里运行CentOS系统。