• Windows 下配置 Vagrant 环境


    Vagrant是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境。它使用 Oracle 的开源VirtualBox虚拟化系统。

    Vagrant 在快速搭建开发环境方面是很赞的,试想一个团队中,大家开发同一个东西,以前每个人都要自己搭建一套开发环境 ,有了 Vagrant,你只需要搭建一份,然后分发给所有团队成员,这样大家都立刻就有完全相同的开发环境了,即便有成员在Windows 下,也可以方便的使用 Linux 环境开发。如果团队中来了新人,也不需要手把手教他怎么搭建开发环境,给他丢一个Box 就好了,只要他掌握了 Vagrant 的使用方法,立刻就可以融入到开发中来,而不需要费心去安装复杂的环境。

    Vagrant 的跨平台的特性简直是太棒了,这都要利益于 VirtualBox 这样一款优秀的软件和 Vagrant 这些天才工程师们。

    Vagrant 还支持使用Chef和Puppet来维护你的虚拟开发环境,不过因为我对这两个工具并不熟悉,本文中不作介绍,只简单 介绍如果在 Windows 下配置一个 Vagrant 环境。

    安装 Vagrant

    从 Vagrant 官网下载最新的 Vagrant 和对应的 VirtualBox 安装后,新建一个文件夹用来配置 Vagrant

    因为使用vagrant init precise32 http://files.vagrantup.com/precise32.box命令下载 box 会比较慢, 所以最好是提前使用迅雷等工具下载好 box 放在一个文件中,然后初始化时使用本地路径,会快很多。

    vagrant init precise32 ..oxesprecise32.box
    

    需要注意的是,这里使用本地路径时,需要使用 Windows 风格的路径,即用来作为路径分隔符。

    PS:可用的 Vagrant Boxes 见这里:http://www.vagrantbox.es/

    端口转发

    Vagrant 中配置端口转发非常方便

    Vagrant.configure("2") do |config|
      # other config here
    
      config.vm.network :forwarded_port, guest: 80, host: 8080
    end
    

    上面的配置会将 Vagrant 中的 80 端口和你本机的 8080 端口建立转发关系,这样你在本机访问 http://localhost:8080 就相当于访问 Vagrant 中的 http://localhost:80 了。

    端口转发可以配置多组。

    共享文件夹

    使用 Vagrant 有一个非常重要的一步就是共享文件夹(得益于强大的 VirtualBox)

    在Vagrantfile中设置

    config.vm.synced_folder "E:/Blog", "/home/vagrant/Blog"
    

    其中第一个参数E:/Blog为本机上需要共享的文件夹路径,第二个参数为 Vagrant 虚拟机中的映射路径,注意第二个参数需要 使用绝对路径,如/home/vagrant/Blog

    连接至 Vagrant

    配置好后,就可以启动虚拟机并连接到 Vagrant 了。

    首先,执行vagrant up,等待片刻,vagrant 就启动好了。 ::

    e:Vagrantprecise32>vagrant reload
    [default] Attempting graceful shutdown of VM...
    [default] Setting the name of the VM...
    [default] Clearing any previously set forwarded ports...
    [default] Creating shared folders metadata...
    [default] Clearing any previously set network interfaces...
    [default] Preparing network interfaces based on configuration...
    [default] Forwarding ports...
    [default] -- 22 => 2222 (adapter 1)
    [default] -- 5000 => 5000 (adapter 1)
    [default] -- 3000 => 3000 (adapter 1)
    [default] Booting VM...
    [default] Waiting for VM to boot. This can take a few minutes.
    [default] VM booted and ready for use!
    [default] Configuring and enabling network interfaces...
    [default] Mounting shared folders...
    [default] -- /vagrant
    [default] -- /home/vagrant/Blog
    [default] -- /home/vagrant/Notes
    [default] -- /home/vagrant/Projects
    

    如果你vagrant up后又修改了 Vagrantfile,要使之生效,需要执行vagrant reload

    在 Windows 下,不能使用vagrant ssh来直接访问 vagrnat,不过该命令会告诉你如何通过 ssh 连接 vagrant ::

    e:Vagrantprecise32>vagrant ssh
    `ssh` executable not found in any directories in the %PATH% variable. Is an
    SSH client installed? Try installing Cygwin, MinGW or Git, all of which
    contain an SSH client. Or use the PuTTY SSH client with the following
    authentication information shown below:
    
    Host: 127.0.0.1
    Port: 2222
    Username: vagrant
    Private key: C:/Documents and Settings/greatghoul/.vagrant.d/insecure_private_key
    

    这样你就可以使用类似 putty 的 ssh 客户端来访问 vagrant 来进行开发了,这里极力推荐 Chrome 扩展Secure Shell。

    Vagrant 的详细介绍请点这里
    Vagrant 的下载地址请点这里

    如何使用vagrant在虚拟机安装Hadoop集群 http://www.linuxidc.com/Linux/2013-04/82750.htm

    Vagrant 中高效的 Puppet 模块管理 http://www.linuxidc.com/Linux/2014-05/101873.htm

    使用 Vagrant 和 Fabric 用于集成测试 http://www.linuxidc.com/Linux/2014-07/104113.htm

    使用 Vagrant 搭建开发环境 http://www.linuxidc.com/Linux/2014-07/104116.htm

    本文永久更新链接地址http://www.linuxidc.com/Linux/2014-07/104115.htm

    深圳麦集思科技有限公司
  • 相关阅读:
    Spark 集群 任务提交模式
    Spark RDD 宽窄依赖
    Spark 资源调度包 stage 类解析
    堆内内存与堆外内存
    Spark笔记(一)
    scala 语言特性
    Centos7.4 Storm2.0.0 + Zookeeper3.5.5 高可用集群搭建
    fs模块他的作用是(文件夹)
    事件循环机制
    简单的下路由(我们可以在控制器中看到路由参数)
  • 原文地址:https://www.cnblogs.com/damizhou/p/5792201.html
Copyright © 2020-2023  润新知