Docker和OpenVZ之间的区别

for*_*t17 49 virtualization virtual-machine openvz docker boot2docker

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

对未来有什么好处?

优点和缺点?

Roy*_*oyB 71

容器的视角在2之间是非常不同的.

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

这意味着什么? 对于OpenVZ,您可以期望在创建容器时,它有点像制作虚拟服务器.OpenVZ的界面专注于设置您手动装饰自己的VPS容器.因此,它们为您可以启动和关闭的空Linux机器提供模板,然后您可以使用SSH进行设置,以便根据您的需要自行设置它们,例如LAMP堆栈.

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

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

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

如果你想在Docker中使用LAMP堆栈,你所做的只是"docker run -d -p 80:80 tutum/lamp"

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

大多数泊坞窗图像中的许多功能都是独一无二的.对于tutum/lamp图像,请看这里.

  • 非常感谢您的详细解答:).我几乎没有怀疑.考虑一个设置我需要一个mysql服务器和两个网卡的tomcat apache.这可以在openVZ中轻松实现,因为它是虚拟服务器,我可以在同一台机器上创建尽可能多的虚拟专用服务器.我如何实现这个Docker? (2认同)
  • 很棒的答案!我要补充的是,OpenVZ创建了一个"时髦"的虚拟机(具有类似于属性的逻辑服务器,初始化脚本,文件系统,网络接口,挂载点等),没有专用的内核.虽然docker启动了一系列与主机隔离的服务,直到您停止它为止.当你停止一个docker容器时,当你的容器的FS消失时不要被淹没(虽然有办法坚持,但这不是docker的默认意图) (2认同)