什么是vagrant、docker、virtualenv或者只是虚拟机之间的区别?
什么是vagrant、docker、virtualenv或者只是虚拟机之间的区别?
我使用 Django 框架和 Python 开发网站,我喜欢快速完成工作。
我曾经使用虚拟机或本地主机来开发,最近开始使用 Vagrant,但不确定是否有其他技术可以帮助加快开发进程。
我需要一些提示和指导。
admin 更改状态以发布 2023年5月24日
- Docker
- 它非常擅长通过Docker Index构建和共享磁盘映像。
- Docker是用于基础架构管理的软件(目前的绑定适用于Linux容器,但未来的绑定包括KVM、Hyper-V、Xen等)。
- Docker是服务器模板的优秀图像分发模型,建立在配置管理器(如Chef、Puppet、SaltStack等)上。
- Docker使用btrfs(写时复制文件系统)来跟踪文件系统的差异,这些差异可以提交并与其他用户合作(如git)。
- Docker有一个中央磁盘镜像库(公共和私有),允许您轻松运行不同的操作系统(Ubuntu、Centos、Fedora,甚至是Gentoo)。
- virtualenv
-
它隔离了一台机器上的Python解释器和Python依赖项,因此您可以在同一台机器上安装多个Python项目及其各自的依赖项。但对于机器的其余部分,virtualenv并不起作用:
-
您仍然拥有全局依赖项/软件包,这些软件包是使用您的Mac OS X/Linux软件包管理器安装的,并且在virtualenv之间共享。
- 虚拟机(VM)
- 它是一个软件程序或操作系统,不仅表现出单独计算机的行为,还能像单独计算机一样执行运行应用程序和程序等任务。
- 虚拟机通常称为客户机,它是在另一个计算环境中创建的,该环境被称为"主机"。
- 多个虚拟机可以同时存在于单个主机中。
- Vagrant
-
通常用于编程配置虚拟机
-
它指定整个机器:允许您指定Linux发行版,要安装的软件包以及要执行的操作以安装项目。
-
因此,如果您想在该机器上启动具有多个Python项目的Vagrant虚拟机,仍然可以使用virtualenv来保持Python依赖项的隔离。