什么是vagrant、docker、virtualenv或者只是虚拟机之间的区别?

11 浏览
0 Comments

什么是vagrant、docker、virtualenv或者只是虚拟机之间的区别?

我使用 Django 框架和 Python 开发网站,我喜欢快速完成工作。

我曾经使用虚拟机或本地主机来开发,最近开始使用 Vagrant,但不确定是否有其他技术可以帮助加快开发进程。

我需要一些提示和指导。

admin 更改状态以发布 2023年5月24日
0
0 Comments

- 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依赖项的隔离。

0