欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-31 18:14:09
...


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://*.com/questions/45912076/error-openssl-ssl-read-ssl-error-syscall-errno-10054

https://*.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更强大的功能介绍,请参考官方文档

相关标签: vagrant