跳过正文
Background Image
  1. Posts/

Vagrant 和 Docker 的区别,该如何选?

·665 字·2 分钟· ·
沈显鹏
作者
沈显鹏
目录

关于 Vagrant 的介绍,可以参看前一篇文章:什么是 Vagrant? Vagrant 和 VirtualBox 的区别

什么是 Vagrant
#

关于 Vagrant 的介绍,可以参看前一篇文章:什么是 Vagrant? Vagrant 和 VirtualBox 的区别

Vagrant 和 Docker 区别
#

关于 Vagrant 被问到最多的问题:Vagrant 和 Docker 之间有什么区别。

如果不分场景的直接比对 Vagrant 和 Docker 是不恰当的。在一些简单场景中,它们的作用是重复的,但在更多场景中,它们是无法相互替代的。

那么什么情况下应该用 Vagrant,什么情况下用 Docker 呢?

所以如果你仅仅是想管理虚拟机,那么你应该使用 Vagrant;如果你想快速开发和部署应用,那么应该使用 Docker。

下面具体来说说为什么。

Vagrant 是 VM 的管理工具,或是说编排工具;Docker 是用来构建、运行、管理容器的工具。那么这个问题其实落在了虚拟机(VM)和 容器(Container)的区别。

引用网络上一组照片来感受一下物理机(Host),虚拟机(VM)和 容器(Container)之间的区别。

物理机(Host)

物理机

虚拟机(VM)

虚拟机

容器(Container)

Docker

从图上我们更容易理解虚拟机(VM)和容器(Container)的这些不同:

特性虚拟机容器
隔离级别操作系统级进程级别
隔离策略HypervisorCGROUPS
系统资源5 - 15%0 - 5%
启动时间分钟级秒级
镜像存储GBMB

总结:Vagrant 和 Docker 的使用场景区别

Vagrant 设计是用来管理虚拟机的,Docker 设计是用来管理应用环境。

Vagrant 更适合用来做开发、测试,解决环境一致性的问题;Docker 更适合做快速开发和部署,CI/CD。

最后,Vagrant 和 Docker 都有大量社区贡献的 “Box”“Image” 可供选择。


欢迎扫码关注公众号「DevOps攻城狮」- 专注于DevOps领域知识分享。

相关文章

什么是 Vagrant? Vagrant 和 VirtualBox 的区别
·1346 字·3 分钟
本文介绍了 Vagrant 的概念、发展历史以及如何使用 Vagrant 创建和管理虚拟机,强调了 Vagrant 相比传统虚拟机的优势。
你一定要了解这 17 条 Docker 最佳实践!
·8494 字·17 分钟
本文分享了在编写 Dockerfiles 和使用 Docker 时应遵循的一些最佳实践,包括多阶段构建、镜像优化、安全性等方面的建议。
用 VirtualBox 配置一台 Linux 虚拟机
·145 字·1 分钟
本文介绍了如何在 VirtualBox 中配置一台 Linux 虚拟机,包括下载、安装和配置步骤,帮助用户快速搭建 Linux 环境。
Docker 常用命令
·235 字·1 分钟
一个 Docker 常用命令小纸条,记录一些常用的 Docker 命令和操作,方便日常使用和参考。
Docker 版本概述
·278 字·1 分钟
概述 Docker 的不同版本,包括社区版、企业版和企业级解决方案,适用于不同规模和需求的用户。
定制一个 Docker 版 Jenkins 镜像
·591 字·2 分钟
如何定制一个 Docker 版 Jenkins 镜像,并将其备份到 Artifactory,便于在需要时快速恢复 Jenkins 环境。