一、Docker是什么?
Docker是什么呢?Docker官方的Docker图标就能很形象的解释Docker是什么。可以将Docker比喻成一艘巨轮,巨轮上装载着多个集装箱,在Docker应用中,这些集装箱有个自己的名字,叫做容器。那么问题又来,容器?又是什么呢?举个例子:杯子,作为种生活中的容器,可以装水;如果把电脑主机当作容器的话,可以装系统;将电脑系统作为容器的话,可以安装各种应用程序。那么Docker的这个容器,可以装什么?
二、Docker能用来干什么?
在Docker容器中运行各种程序。但是并不是随便一个程序都可以直接在Docker容器中运行的,一定要求的。容器是打包代码及其所有依赖项的软件的标准单元,因此应用程序可以从一个计算环境快速可靠地运行到另一个计算环境。Docker容器映像是轻巧的,独立的,可执行的软件软件包,其中包含运行应用程序所需的一切:代码,运行时,系统工具,系统库和设置。容器映像在运行时成为容器,对于Docker容器,映像在容器Docker Engine上运行时成为容器。不论基础架构如何,容器化软件都可用于基于Linux和Windows的应用程序,始终运行相同。容器将软件与其环境隔离开来,并确保尽管开发和登台之间存在差异,但软件仍可以均匀运行。
在Docker Engine上运行的Docker容器:
标准: Docker创建了容器的行业标准,因此它们可以在任何地方移植
轻量级:容器共享计算机的OS系统内核,因此不需要每个应用程序都具有OS,从而提高了服务器效率并降低了服务器和许可成本
安全:容器中的应用程序更安全,Docker提供了业界最强大的默认隔离功能
三、Docker和虚拟机对比
Docker容器:容器是应用程序层的抽象,将代码和依赖项打包在一起。多个容器可以在同一台计算机上运行,并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。容器占用的空间少于VM(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要的VM和操作系统更少。
虚拟机器:虚拟机(VM)是将一台服务器转变为多台服务器的物理硬件的抽象。虚拟机管理程序允许多个VM在单台计算机上运行。每个VM包含操作系统,应用程序,必要的二进制文件和库的完整副本-占用数十GB。VM也可能启动缓慢。