vagrant、docker、virtualenv 或虚拟机之间有什么区别?
what is the difference between vagrant, docker, virtualenv or just a virtual machine?
我使用 python 和 django 框架开发网站,我喜欢快速完成工作。
我以前使用虚拟机或在本地主机上使用,最近去了 vagrant,我不确定是否有其他技术可以帮助保持进程更快?
我可以使用一些提示和指示。
- Docker
- 非常擅长通过 Docker 索引
构建和与他人共享磁盘映像
- Docker 是基础架构的管理器(今天的绑定是针对 Linux 容器的,但未来的绑定包括 KVM、Hyper-V、Xen 等)
- Docker 是使用配置*管理器(如 Chef、Puppet、SaltStack 等)构建的服务器模板的绝佳图像分发模型
- Docker 使用 btrfs(一种写时复制文件系统)来跟踪文件系统差异,这些差异可以提交并与其他用户协作(如 git)
- Docker 有一个中央磁盘映像存储库(public 和私有),让您可以轻松地 运行 不同的操作系统(Ubuntu、Centos、Fedora、甚至 Gentoo)
- virtualenv
它将 Python 解释器和 Python 依赖项隔离在一台机器上,因此您可以同时安装多个 Python 项目以及它们自己的依赖项。但是对于机器的其余部分,virtualenv 什么都不做:
你仍然有使用你的 Mac OS X / Linux 包管理器安装的全局依赖项/包,并且这些在 virtualenvs 之间共享。
- 虚拟机(VM)
- 它是一种软件程序或操作系统,不仅表现出独立计算机的行为,而且还能够像独立计算机一样执行 运行应用程序和程序等任务。
- 通常称为来宾的虚拟机是在称为“主机”的另一个计算环境中创建的。
- 多个虚拟机可以同时存在于一个主机中。
-流浪汉
常用于以编程方式配置虚拟机
指定整台机器:它允许您指定Linux发行版、要安装的包和安装项目要采取的操作。
因此,如果您想在该机器上启动一个包含多个 Python 项目的 Vagrant box,您仍然需要使用 virtualenv 来保持 Python 依赖项独立。
我使用 python 和 django 框架开发网站,我喜欢快速完成工作。 我以前使用虚拟机或在本地主机上使用,最近去了 vagrant,我不确定是否有其他技术可以帮助保持进程更快? 我可以使用一些提示和指示。
- Docker
- 非常擅长通过 Docker 索引 构建和与他人共享磁盘映像
- Docker 是基础架构的管理器(今天的绑定是针对 Linux 容器的,但未来的绑定包括 KVM、Hyper-V、Xen 等)
- Docker 是使用配置*管理器(如 Chef、Puppet、SaltStack 等)构建的服务器模板的绝佳图像分发模型
- Docker 使用 btrfs(一种写时复制文件系统)来跟踪文件系统差异,这些差异可以提交并与其他用户协作(如 git)
- Docker 有一个中央磁盘映像存储库(public 和私有),让您可以轻松地 运行 不同的操作系统(Ubuntu、Centos、Fedora、甚至 Gentoo)
- virtualenv
它将 Python 解释器和 Python 依赖项隔离在一台机器上,因此您可以同时安装多个 Python 项目以及它们自己的依赖项。但是对于机器的其余部分,virtualenv 什么都不做:
你仍然有使用你的 Mac OS X / Linux 包管理器安装的全局依赖项/包,并且这些在 virtualenvs 之间共享。
- 虚拟机(VM)
- 它是一种软件程序或操作系统,不仅表现出独立计算机的行为,而且还能够像独立计算机一样执行 运行应用程序和程序等任务。
- 通常称为来宾的虚拟机是在称为“主机”的另一个计算环境中创建的。
- 多个虚拟机可以同时存在于一个主机中。
-流浪汉
常用于以编程方式配置虚拟机
指定整台机器:它允许您指定Linux发行版、要安装的包和安装项目要采取的操作。
因此,如果您想在该机器上启动一个包含多个 Python 项目的 Vagrant box,您仍然需要使用 virtualenv 来保持 Python 依赖项独立。