Docker

Docker - HomePage

Wiki - Docker

Docker简介

Overview

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker的应用场景

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

Docker的优点

  1. 简化程序:

    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。

    Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。

    方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
  2. 避免选择恐惧症:

    如果你有选择恐惧症,还是资深患者。Docker 帮你打包你的纠结!

    Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
  3. 节省开支:

    云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。

    Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

Vagrant

Vagrant - HomePage

Wiki - Vagrant(software)

Vagrant简介

why-vagrant

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

可以简单理解为Vagrant抛弃开发环境中所有让人头痛的设置,而是用一个单一的配置文件来替代,并且可以选择性地保留所需要的特性。

Vagrant使用Oracle开源的VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。

当前Vagrant的虚拟化,已经可以使用不同的供应商。原来默认的提供商是VirtualBox,现在支持更多了,包括VMware fusion,甚至amazon-ec2。

Vagrant的功能特性

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

对比Docker与Vagrant

Vagrant vs Docker

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

To understand the difference between Docker & Vagrant, you first need to understand the difference between Containerisation & Virtualisation.

Tools - Docker与Vagrant的更多相关文章

  1. Docker - Docker与Vagrant的区别

    Docker Docker - HomePage Wiki - Docker Docker简介 Overview Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协 ...

  2. vagrant特性——基于docker开发环境(docker和vagrant的结合)-1-基本使用

    Docker vagrant提供了使用Docker作为provider(其他的provider有virtualBox.VMware\hyper-V等)的开箱即用支持.这允许你的开发环境由Docker容 ...

  3. vagrant特性——基于docker开发环境(docker和vagrant的结合)-0-简介

    原文https://www.hashicorp.com/blog/feature-preview-docker-based-development-environments Feature Previ ...

  4. docker 和 vagrant 作为程序发布 和 开发的独立而统一的运行环境

    docker 和 vagrant 作为程序发布 和 开发的运行环境,可以提供打包程序,并使得程序运行在一个独立的虚拟环境中,避免程序发布到客户机之后,环境不一致导致的诸多问题.     refer: ...

  5. Docker学习总结之Docker与Vagrant之间的特点比较

    以下内容均出自Vagrant作者(Mitchell Hashimoto)与Docker作者(Solomon Hykes)在stackoverflow上面一个问题讨论.在这个问题中,双方阐述了vagra ...

  6. vagrant特性——基于docker开发环境(docker和vagrant的结合)-4-简单例子-有问题

    运行一个十分简单的例子: Vagrant.configure() do |config| config.vm.provider "docker" do |d| d.image = ...

  7. vagrant特性——基于docker开发环境(docker和vagrant的结合)-3-boxes和配置

    Docker Boxes Docker provider不需要vagrant box.因此其config.vm.box设置是完全可选的.但是,仍然可以使用并指定一个box来提供默认值.由于一个带着bo ...

  8. vagrant特性——基于docker开发环境(docker和vagrant的结合)-2-命令

    Docker Commands Docker provider公开了一些额外的vagrant命令,这些命令对于与Docker容器交互非常有用.这有助于你在vagrant之上的工作流程,这样你就可以在底 ...

  9. difference between VM, Docker and Vagrant区别

    VM:  VirtualBox, VMware Docker Vagrant using which you can create VMs or container. It interacts wit ...

随机推荐

  1. java-JDBC登录注册代码

    登录: public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); Sy ...

  2. web图片识别

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  3. JsonUtil

    package com.test.base.util.json; import java.beans.IntrospectionException; import java.beans.Introsp ...

  4. NSTimer整理总结

    对于定时器NSTimer,我们大家都不会陌生,在使用的时候,我们常常会遇到一些坑,例如:在Scrollview拖动时,timer会暂停:在子线程中如何创建一个定时器等.针对于一些我们所遇到的坑,我来总 ...

  5. Code First开发系列之领域建模和管理实体关系

    返回<8天掌握EF的Code First开发>总目录 本篇目录 理解Code First及其约定和配置 创建数据表结构 管理实体关系 三种继承模式 本章小结 自我测试 本篇的源码下载:点击 ...

  6. MySQL 基础及性能优化工具

    数据库,用户及权限 常用用户管理操作 # 创建本地用户 abc create user abc@localhost # 创建内网能够访问的用户 abc create user abc@'192.168 ...

  7. Apache Mina实战

    Mina介绍 Mina可以用于快速的开发基于网络通信的应用,特别是在开发手机端的游戏应用时,使用的较为普遍.本文简单介绍了一个用Mina搭建的一个简易讨论组,通过该应用可以对Mina的基本用法用途有个 ...

  8. Service基础使用

    Service基础使用 之前的文章一直介绍Activity的使用,很多知识和用法单一的配合Activity使用,这次将总结Android四大组件之二--Service. 本文将要介绍以下内容: Ser ...

  9. C# BS消息推送 SignalR Hubs环境搭建与开发(二)

    1. 前言 本文是根据网上前人的总结得出的. 环境: SignalR2.x,VS2015,Win10 2. 开始开发 1)新建一个MVC项目,叫做SignalRDemo 2)安装SignalR包 In ...

  10. iOS-App发布证书的申请与使用

    i开发环境:xcode5.1.1 iphonesdk:7.1 开发机器:iMac 真机部署测试:apple个人开发者ID 向导: 必备IDP证书和distribution证书(第一个证书是真机部署测试 ...