解决在一台机器上运行的不同组件需要不同的、可能存在冲突的依赖库版本,或者解决其他环境需求问题。
虚拟机的主要好处是提供完全隔离的环境,因为虚拟机运行在它自己的内核之上,而同一台机器的容器调用同一个内核,调用同一个内核实际上也是有安全隐患的。
容器实现隔离机制介绍
- 用Linux命名空间(namespace)隔离进程,存在以下类型的命名空间:

每种命名空间被用来隔离一组特定的资源。
- 限制进程的可用资源,通过cgroups
cgroups 是Linux内核功能,被用来限制一个进程或者一组进程的资源使用,一个进程资源使用量不能超过被分配的量。
Docker概念
一个打包、分发和运行应用程序的平台。三个概念: 镜像、镜像仓库、容器
镜像层介绍
docker镜像由多层构成,不同的镜像窦能使用相同的父镜像作为它们的基础镜像。提升网络上的分发效率,当传输某个镜像时、如相同层已被其他镜像传输、这些层就不需要再次传输。
层还有助于减少镜像的存储空间。
容器镜像层是只读的,容器运行时、新的读写层在镜像层之上创建,文件的操作会拷贝在该层完成。
