Docker和OpenVZ之间的区别

时间:2015-03-27 15:57:55

标签: docker virtual-machine virtualization boot2docker openvz

我是虚拟化世界的新手。有人可以向我解释一下OpenVZ和Docker之间的区别吗?

对未来有什么好处?

优点和缺点?

1 个答案:

答案 0 :(得分:67)

对于容器的观点在2之间是非常不同的。

简而言之 OpenVZ将容器视为VPS,而docker将容器视为应用程序/服务。

这意味着什么? 对于OpenVZ ,您可以预期在创建容器时,它有点像制作虚拟服务器。 OpenVZ的界面专注于设置您手动装饰自己的VPS容器。因此,它们为您可以启动和关闭的空Linux机器提供模板,然后您可以通过SSH进入,以便自己设置它们,就像LAMP堆栈一样。

当您想要设置LAMP堆栈时,您可以像设置新服务器时那样进行设置。你得到一个带有虚拟以太网适配器的空机器,它有自己的公共可访问的WAN IP,上面有Ubuntu,用SSH访问它,你使用你的普通包管理器(yum或apt)安装所有必需的服务,然后执行自己配置文件中需要设置。

对于Docker,,您可以预期在创建容器时,容器是单个应用程序,只做一件事。因此,它可能需要一些其他容器来帮助它。 (例如,提供数据库的容器) Docker使得在容器内部定义什么非常容易,而不必实际启动容器,并不断创建新的完全相等的容器实例。它们通过使用非常轻量级的模板来定义docker容器(图像)的内容,这些模板称为Dockerfiles。

那里已经有一大堆dockerfiles,你可以在Docker中心找到,自己看一下(就像在糖果店里吃免费糖果!:D):docker hub。可以使用dock命令通过docker CLI工具提取这些dockerfiles生成的图像。 在docker中,theres还可以轻松访问端口转发,虚拟目录(以便您可以轻松访问主机上的文件)以及任何可执行文件都可以使用的内容。

如果你想在码头工具中使用LAMP堆叠,你所做的就是#34; docker run -d -p 80:80 tutum / lamp"

这会拉动图像tutum / lamp,然后运行daemonised(-d),端口80从容器转发到主机的端口80,将内部Web服务暴露给外部。如您所见,与OpenVZ机器相比,它没有自己的IP地址。就像它在你的根机器上运行的apache服务器一样。 与本机安装相比,优势在于docker使安装变得更加容易且无限制地可复制。此外,它不会使主机与大量文件混乱,并为您的应用程序提供安全边界。

大多数泊坞窗图像中的许多功能都是独一无二的。对于tutum / lamp图像,take a look here.