容器技术

2020-12-11

      容器就是一种基于操作系统能力的隔离技术,可以有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求的技术。由于完全使用沙箱机制,相互之间不会有任何接口,性能开销极低。

      相比较于传统的虚拟机,容器不需要安装操作系统,直接共享宿主机的内核,这就使得容器显得轻量化,自然占用资源很小。

Docker是实现容器化的一种技术架构。

 

       容器是应用程序层的抽象,将代码和依赖项打包在一起。多个容器可以在同一台计算机上运行,​​并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。容器占用的空间少于VM(容器映像的大小通常为数十MB),可以处理更多的应用程序,并且需要的VM和操作系统更少。         虚拟机(VM)是将一台服务器转变为多台服务器的物理硬件的抽象。虚拟机管理程序允许多个VM在单台计算机上运行。每个VM包含操作系统,应用程序,必要的二进制文件和库的完整副本-占用数十GB。VM也可能启动缓慢。

 

       容器是打包代码及其所有依赖项的软件的标准单元,因此应用程序可以从一个计算环境快速可靠地运行到另一个计算环境。Docker容器映像是轻巧的,独立的,可执行的软件软件包,其中包括运行应用程序所需的一切:代码,运行时,系统工具,系统库和设置。

       容器映像在运行时成为容器,对于Docker容器,映像在容器Docker Engine上运行时成为容器不论基础架构如何,容器化软件都可用于基于Linux和Windows的应用程序,始终运行相同。容器将软件与其环境隔离开来,并确保尽管开发和登台之间存在差异,但软件仍可以均匀运行。

       在Docker Engine上运行的Docker容器:

  • 标准: Docker创建了容器的行业标准,因此它们可以在任何地方移植
  • 轻巧:容器共享计算机的OS系统内核,因此不需要每个应用程序都具有OS,从而提高了服务器效率,并降低了服务器和许可成本
  • 安全:容器中的应用程序更安全,Docker提供业界最强大的默认隔离功能