docker和容器的区别?
其实容器的发展历史早于docker的。docker也不等同于容器,“容器”是一系列内核特性的统称。
2000年的时候,LXC容器发布,这是一种内核虚拟 化的技术,可以提供轻量级的虚拟化,以便隔离进程和资源,LXC是docker最初使用的具体内核功能的实现。
2013年的时候,Docker发布,组合LXC、Union File System和cgroups等Linux技术,创建了容器化标准。而且Docker 引入了ship(发布)的概念,构建了一套build-ship-run的软件开发流程,让软件开发、发布、运行变得更加简单。
| 比较内容 |
传统开发方式 |
容器开发方式 |
| 构建方式 |
maven打包 |
dockerfile |
| 交付方式 |
jar包或者war包 |
容器 |
| 一致性 |
弱,开发环境、测试环境、生产环境难以一致 |
强,不依赖于OS以及运行时环境 |
docker 应用了哪些内核技术
NameSpace隔离进程运行环境
NameSpace是Linux系统内核用来隔离内核资源的一种方式,通过NameSpace可以让进程只能看到与自己相关的资源。不同的NameSpace下的进程相互隔离,不能被感知到。NameSpace是对全局系统资源的一种封装隔离,使得在不同NameSpace下的进程拥有独立的全局系统资源,改变一个NameSpace下的系统资源只会影响这个NameSpa

本文探讨了Docker与容器的区别,强调Docker不是容器的同义词,而是基于LXC等内核技术的标准容器化平台。详细介绍了Docker如何利用NameSpace实现进程隔离,通过cgroups限制资源配额,以及通过联合挂载的rootfs创建隔离的运行环境。此外,还讨论了Docker的安全性,如通过SELinux增强容器的安全防护。
最低0.47元/天 解锁文章
6521

被折叠的 条评论
为什么被折叠?



