vagrant,docker,virtualenv或虚拟机有什么区别?

osa*_*901 9 web

我用django框架开发使用python的网站,我喜欢快速完成任务.我曾经使用虚拟机或在本地主机上,最近去了流浪汉,我不确定是否有其他技术可以帮助保持流程更快?我可以使用一些提示和指针.

mah*_*ble 13

- Docker

  • 它非常适合通过Docker Index构建和共享磁盘映像
  • Docker是基础架构的管理者(今天的绑定适用于Linux容器,但未来的绑定包括KVM,Hyper-V,Xen等)
  • Docker是使用Configuration*Managers(如Chef,Puppet,SaltStack等)构建的服务器模板的出色图像分发模型
  • Docker使用btrfs(一个写时复制文件系统)来跟踪文件系统差异,这些差异可以与其他用户(如git)一起提交和协作
  • Docker有一个磁盘映像(公共和私有)的中央存储库,允许您轻松运行不同的操作系统(Ubuntu,Centos,Fedora,甚至Gentoo)

- virtualenv

  • 它在一台机器上隔离了Python解释器和Python依赖项,因此您可以使用它们自己的依赖项相互安装多个Python项目.但对于机器的其余部分,virtualenv没有做任何事情:

  • 您仍然拥有使用Mac OS X/Linux软件包管理器安装的全局依赖项/软件包,这些是在virtualenvs之间共享的.

- 流浪汉

  • 指定整个机器:它允许您指定Linux发行版,要安装的软件包以及安装项目时要采取的操作.

  • 因此,如果您想在该计算机上启动包含多个Python项目的Vagrant框,您仍然可以使用virtualenv来保持Python依赖项的独立性.

- 虚拟机(VM)

  • 它是一种软件程序或操作系统,不仅能够展示单独计算机的行为,而且还能够执行诸如运行应用程序和程序(如单独的计算机)之类的任务.
  • 通常称为来宾的虚拟机在被称为"主机"的另一计算环境中创建.
  • 一次可以在单个主机中存在多个虚拟机.

  • @mahendra kamble始终指向您复制并粘贴了信息的链接。 (3认同)