美文网首页
2018-03-23 vagrant安装和基本使用

2018-03-23 vagrant安装和基本使用

作者: 四火流年 | 来源:发表于2018-03-23 21:36 被阅读150次

    1、下载安装

    官网:https://www.vagrantup.com/downloads.html
    download
    最新版本是2.0.3,我用的是2.0.1

    Virtualbox版本是5.2.8
    download virtualbox

    2、基本概念和命令

    What is Vagrant

    Vagrant是用来建立、管理虚拟机环境。

    Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the "works on my machine" excuse a relic of the past.

    Provider

    Vagrant并不是从零做起,而是借助了很多现有的虚拟机软件,如VMware,AWS,Virtualbox等。
    因为Virtualbox是免费的,所以用这个进行练习比较合适。

    Vagrantfile初始化

    作为一名开发者,vagrant可以帮助我们搭建开发环境,在这个环境里安装我们需要的各种软件、配置各种服务。而这些软件、服务都会记录在一种配置文件 - Vagrantfile里,以方便复用。

    1. 新建一个文件夹,或者进入某个项目的文件夹下
    mkdir vagrant_practice
    cd vagrant_practice
    
    1. 初始化一个box
    vagrant init
    

    会在当前文件夹下生成一个Vagrantfile文件,去掉注释后为:

    Vagrant.configure("2") do |config|
      config.vm.box = "base"
    end
    

    然后把“base”修改为“hashicorp/precise64”,这是一个“Ubuntu 12.04 LTS 64-bit”的虚拟机。
    注意:

    • Vagrant的命名空间是:hashicorp称为username,precise64称为box name
    • 除了直接修改Vagrantfile,还可以通过下面的方式达到同样的效果:
    vagrant init
    vagrant box add hashicorp/precise64
    或者
    vagrant init hashicorp/precise64
    
    1. 运行
    vagrant up
    

    注意:

    • 第一次运行时,vagrant会去下载这个hashicorp/precise64镜像,但是会报错
    ➜  vagrant_practice vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Box 'hashicorp/precise64' could not be found. Attempting to find and install...
        default: Box Provider: virtualbox
        default: Box Version: >= 0
    ==> default: Loading metadata for box 'hashicorp/precise64'
        default: URL: https://vagrantcloud.com/hashicorp/precise64
    ==> default: Adding box 'hashicorp/precise64' (v1.1.0) for provider: virtualbox
        default: Downloading: https://vagrantcloud.com/hashicorp/boxes/precise64/versions/1.1.0/providers/virtualbox.box
    An error occurred while downloading the remote file. The error
    message, if any, is reproduced below. Please fix this error and try
    again.
    
    OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to hashicorp-files.hashicorp.com:443
    

    这是因为网络问题:

    https://stackoverflow.com/questions/45912076/error-openssl-ssl-read-ssl-error-syscall-errno-10054

    https://stackoverflow.com/questions/25485816/openssl-errno-10054-connection-refused-whilst-trying-to-connect-to-our-server

    解决办法是直接下载上面那个链接,另存为也好、迅雷也好,然后放在当前目录下,然后:

    ➜  vagrant_practice ls
    virtualbox.box
    
    ➜  vagrant_practice vagrant box add hashicorp/precise64 virtualbox.box
    ==> box: Box file was not detected as metadata. Adding it directly...
    ==> box: Adding box 'hashicorp/precise64' (v0) for provider:
        box: Unpacking necessary files from: file:///Users/zsun/workspace/github/vagrant_practice/virtualbox.box
    ==> box: Successfully added box 'hashicorp/precise64' (v0) for 'virtualbox'!
    
    ➜  vagrant_practice vagrant init hashicorp/precise64
    
    ➜  vagrant_practice vagrant up
    成功
    
    1. 进入虚拟机
    vagrant ssh
    

    注意:

    • 这时候在Virtualbox那里也能看见一个虚拟机实例在运行,名字为vagrant_practice,即文件夹名。
    • 退出命令:exitlogout

    同步文件夹

    虚拟的环境为了和外面的环境共享数据,在内部有一个路径为:
    /vagrant,即外面环境的当前文件夹./vagrant_practice

    小结

    以上即是初次使用vagrant需要了解的知识,包括基本概念、基本命令等。Vagrant更强大的功能介绍,请参考官方文档

    相关文章

      网友评论

          本文标题:2018-03-23 vagrant安装和基本使用

          本文链接:https://www.haomeiwen.com/subject/acffcftx.html