见:https://www.docker.com/what-container
将软件打包成标准化的单元进行开发,发货和部署
容器映像是一个软件的轻量级独立可执行软件包,包含运行所需的所有内容:代码,运行时,系统工具,系统库,设置。无论环境如何,集装箱化的软件都可以运行在Linux和Windows应用程序上。容器将软件与其周围环境隔离开来,例如开发环境和登台环境之间的差异,并有助于减少在同一基础架构上运行不同软件的团队之间的冲突。
-
轻量级
在一台机器上运行的Docker容器共享该机器的操作系统内核; 他们立即开始,并使用更少的计算和内存。图像是从文件系统层构建的,并共享公共文件。这最大限度地减少了磁盘使用,图像下载速度更快。
-
-
-
-
-
-
标准
Docker容器基于开放标准,可运行在所有主要Linux发行版,Microsoft Windows以及包括虚拟机,裸机和云中的任何基础架构上。
-
-
-
-
安全
Docker容器将应用程序彼此隔离并从底层基础架构中分离出来。Docker提供了最强大的默认隔离功能,可以将应用程序问题限制在一个容器中,而不是整个机器上。
比较容器和虚拟机
容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化操作系统而不是硬件。容器更便携,更高效。
-
集装箱
容器是应用程序层的一个抽象,将代码和依赖关系打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为孤立进程运行。容器占用的空间少于虚拟机(容器图像的大小通常为几十MB),并且几乎立即开始。
-
虚拟机
虚拟机(VM)是将一台服务器变成多台服务器的物理硬件的抽象。管理程序允许多台虚拟机在单台机器上运行。每个VM都包含一个操作系统的完整副本,一个或多个应用程序,必需的二进制文件和库 - 占用数十GB。VM也可能启动缓慢。