vagrant和docker有什么区别

青灯夜游
青灯夜游 原创
2021-11-29 16:44:30 2677浏览

区别:1、Docker是一个开源的应用容器引擎,是运行环境的部署工具;而vagrant是开发环境的部署工具。2、docker适合用来管理应用环境,而Vagrant适合用来管理虚拟机。

本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。

Docker

Docker简介

  • Docker - HomePage
  • Overview
    Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker的优点

  • 简化程序:
    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。
    Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。
    方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

  • 避免选择恐惧症:
    如果你有选择恐惧症,还是资深患者。Docker 帮你打包你的纠结!
    Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

  • 节省开支:
    云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。
    Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

Vagrant

Vagrant简介

Vagrant是一个可创建轻量级、高复用性和便于移植的开发环境的工具。

可以简单理解为Vagrant抛弃开发环境中所有让人头痛的设置,而是用一个单一的配置文件来替代,并且可以选择性地保留所需要的特性。
Vagrant默认使用Oracle开源的VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。

Vagrant的功能特性

  • 支持快速新建虚拟机
  • 支持快速设置端口转发
  • 支持自定义镜像打包(原始镜像方式、增量补丁方式)
  • 基本上日常能用到的基础配置都能快速设置
  • 支持开机启动自动运行命令
  • 可以自己写扩展

对比Docker与Vagrant

Vagrant是基于Virtualbox的虚拟机来构建你的开发环境,而Docker则是基于LXC( LXC)轻量级容器虚拟技术。

Vagrant就是你的开发环境的部署工具;而docker是你的运行环境部署工具。

Vagrant适合用来管理虚拟机,而docker适合用来管理应用环境。
1.jpg

推荐学习:《docker视频教程

以上就是vagrant和docker有什么区别的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。