Vagrant 配置/使用手册

简介

Vagrant是一种虚拟机配置工具,它可以调用VirtualBox 或者 VMware 来按照vagrant的配置文件运行虚拟机。因此Vagrant并不是独立的,它必须和VirtualBox或者VMware配套使用。

安装

安装对象:VirtualBox,Vagrant

VirtualBox :

版本: VirtualBox-6.0.8-130520-Win.exe

下载地址:https://www.virtualbox.org/

Vagrant

版本:vagrant_2.2.5_x86_64.msi

下载地址: https://www.vagrantup.com/downloads.html
ubuntu用户也要在官网下载
如果直接使用:sudo apt install vagrant
会导致vagrant 因为版本低, vagrant up 命令出错

创建虚拟机

第一步:下载ubuntu镜像

Vagrant 使用的是以 .box 为后缀名的镜像

镜像大全可以在这里查找 : http://www.vagrantbox.es/

这里推荐一个下载比较快的Ubuntu镜像:

打开网页 https://cloud-images.ubuntu.com/xenial/current/

找到文件 “xenial-server-cloudimg-amd64-vagrant.box” 点击下载

第二步:初始化ubuntu系统

首先建立一个文件夹用于存放虚拟机镜像,这个文件夹将作为该虚拟机的工作目录。

将第一步下载的镜像文件放入到该文件夹中。

打开命令行(bash),进入该目录

cd xxx
vagrant box add ubuntubox1 ./xenial-server-cloudimg-amd64-vagrant.box # 添加虚拟机
vagrant init ubuntubox1 # 初始化虚拟机
vagrant up # 启动虚拟机

其中上述命令中,ubuntubox1 是虚拟机名称,可以改为其他任意名称

在命令行中登陆虚拟机的终端,以及退出虚拟机的终端的命令为

vagrant ssh #登陆进虚拟机
exit #退出虚拟机登陆

关闭虚拟机和销毁虚拟机的命令分别为

vagrant halt       #停止虚机
vagrant destroy -f    #删除虚机

使用Xshell登陆虚拟机

虽然virtualbox也提供了操作虚拟机的终端命令行界面,但是并不是很好用,这里推荐使用Xshell来登陆虚拟机。

下载

下载地址(参考):http://www.cncrk.com/downinfo/35683.html

如果安装后双击运行时,提示

msxxx.dll 不存在,请下载并安装以下的支持库

https://www.microsoft.com/zh-CN/download/details.aspx?id=30679

(注意 x64 和 x86 两种库都需要安装)

使用

1.获取虚拟机的连接信息

使用之前,我们需要知道虚拟机的ip地址和端口信息以及登陆密钥

打开命令行(bash)进入到虚拟机的工作目录

cd xxx
vagrant ssh-config

输出的信息例如

nikokvcs@wucanliu-web MINGW64 /d/vagrantbox/ubuntuclone
$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/nikokvcs/.vagrant.d/boxes/ubuntuclone/0/virtualbox/vagrant_private_key
  IdentitiesOnly yes
  LogLevel FATAL

从输出信息,我们得知 主机地址是 127.0.0.1,端口是 2222

用户名是 vagrant,密钥文件位于 C:/Users/nikokvcs/.vagrant.d/boxes/ubuntuclone/0/virtualbox/vagrant_private_key

2.使用Xshell连接

双击运行Xshell后,新建一个连接
Vagrant 配置/使用手册_第1张图片

在新出现的窗口填上虚拟机的相关信息(步骤1.获取虚拟机的连接信息 中已获取)

Vagrant 配置/使用手册_第2张图片

填完点击连接

出现的用户名窗口,请填上 步骤1.获取虚拟机的连接信息 中已获取的用户名

Vagrant 配置/使用手册_第3张图片

点击确定后,新窗口需要导入密钥文件

Vagrant 配置/使用手册_第4张图片

选择 步骤1.获取虚拟机的连接信息 中密钥文件的地址即可

Vagrant 配置/使用手册_第5张图片

连接成功,输入 sudo -s 即可切换为 root模式

虚拟机的打包

当你在你的虚拟机上安装了很多东西(比如开发环境),想要将同一个开发环境给另一个人使用,这时就需要将你的虚拟机打包起来,叫包拷贝给别人,这样他就可以使用和你一样的虚拟机环境。

打包

命令行(bash)进入到虚拟机的工作目录

cd xxx
vagrant package --output outputpackage.box

其中 --output outputpackage.box 是指定打包后的镜像文件名称

PS:vagrant package还有以下参数

 --base NAME  # 用于指定要打包的虚拟机目录
 --vagrantfile file ## 用于指定Vagrantfile文件
 --include x,y,z 

指定Vagrantfile文件的情况下打包的例子

cd xxx
vagrant package --output outputpackage.box --vagrantfile Vagrantfile

注意如果是要指定Vagrantfile打包的话,Vagrantfile的配置信息也会被一并打包,因此建议不要在Vagrantfile内配置密码或者密钥地址,这可能存在安全隐患。

使用这样打包出来的镜像去安装新的虚拟机时,新的虚拟机会默认加载原虚拟机的Vagrantfile配置。

根据包安装系统

创建一个新的虚拟机工作目录 yyy, 将上面生成的包文件放入该目录。

使用命令行(bash)

cd yyy
vagrant box add newubuntu ./outputpackage.box # 添加虚拟机
vagrant init newubuntu # 初始化虚拟机
vagrant up # 启动虚拟机

这样就使用上面打包的镜像又创建了一个新的虚拟机。

进入虚拟机后会发现,两个虚拟机的软件,环境都是相同的。

Vagrant 配置

打开虚拟机工作目录下的 Vagrantfile 文件

Vagrant 配置/使用手册_第6张图片

如上图,以 # 开头的是被注释掉的配置项。

修改共享文件夹目录配置

我们可以通过修改这个配置文件,让宿主机(Windows 10)和虚拟机有一个共享文件夹。

首先,在这个配置文件里面找到 config.vm.synced_folder 这个配置项

将其头部的 # 号删去,使其生效。

config.vm.synced_folder "d:/github", "/home/vagrant/github"

该配置项中 “d:/github” 是指在宿主机 windows 10 中用于作为共享文件夹的目录地址

“/home/vagrant/github” 则是指虚拟机中用于作为共享文件夹的目录地址。

注意,这两个地址都必须使用绝对地址。

修改完Vagrantfile的配置后,为了令其生效,需要重启虚拟机,命令为

vagrant reload

修改虚拟机硬件配置

解除注释

Vagrant 配置/使用手册_第7张图片
修改为 4G内存,4核CPU :

Vagrant 配置/使用手册_第8张图片

输入以下命令重启虚拟机

vagrant reload

你可能感兴趣的:(Vagrant 配置/使用手册)