文章目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/f37c4f60cb524c42bac365ce0b630a0f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55Cm5b2m,size_20,color_FFFFFF,t_70,g_se,x_16)
容器解决了什么?又遇到了什么问题
容器,到底是怎么一回事儿?
在Docker出现之前,最为流行的是PaaS 项目。
PaaS 项目被大家接纳的一个主要原因,就是它提供了一种名叫“应用托管”的能力。
像 Cloud Foundry 这样的 PaaS 项目,最核心的组件就是一套应用的打包和分发机制。更好地模拟本地服务器环境,能带来更好的“上云”体验。
Cloud Foundry 会调用操作系统的 Cgroups 和 Namespace 机制为每一个应用单独创建一个称作“沙盒”的隔离环境,然后在“沙盒”中启动这些应用进程。这样,就实现了把多个用户的应用互不干涉地在虚拟机里批量地、自动地运行起来的目的。
Docker 实际上只是一个同样使用 Cgroups 和 Namespace 实现的“沙盒”而已,没有什么特别的黑科技,也不需要特别关注。
事实上,Docker 项目确实与 Cloud Foundry 的容器在大部分功能和实现原理上都是一样的,可偏偏就是这剩下的一小部分不一样的功能,成了 Docker 项目接下来“呼风唤雨”的不二法宝。
这个功能,就是 Docker 镜像