简述Docker与LXC ( Linux Container)的区别 ?
Docker和LXC在多个方面存在显著差异,主要包括以下几个方面:
- 应用配置打包:Docker将应用的所有配置打包到一个容器中,这使得Docker具有很好的可移植性。而LXC仅仅实现了进程沙盒化,并不能在不同机器上进行移植。
- API和用户接口:Docker针对应用的API、用户接口、设计原理及文档做了优化,而LXC仅关注容器并没有过多的优化。
- 架构:Docker基于LXC架构之上,通过使用Docker引擎来管理和操作容器。Docker引擎包含了一个Docker守护进程和一组API,可以用来创建、启动、停止、删除和管理Docker容器。而LXC是一种轻量级的虚拟化技术,依赖于Linux内核提供的cgroups和命名空间(Namespaces)功能来实现容器隔离。
综上所述,Docker和LXC在应用配置打包、API和用户接口以及架构等方面存在显著差异。由于这些差异,Docker在许多场景下成为了一种更高效、更灵活的解决方案。