我在虚拟机上使用Vagrant已有一段时间了,可以在我的ubuntu机器上玩vms。 Vagrant是一个用于帮助创建和配置VirtualBox计算机的工具,使用它的原因很少:
- 开发环境可以与我主计算机上堆积的所有其他垃圾隔离。
- 可以调整开发环境以使其与生产服务器环境尽可能接近。
- 设置脚本通过代码定义计算机配置。 这意味着配置是可重复的和可版本化的。
因此,让我们一起玩吧。
我正在使用Ubuntu 13.04。 首先,我们需要使用来安装Vagrant:
sudo apt-get install vagrant
这将安装虚拟框4.2和其他依赖项(如ruby)(以防您尚未安装)
我们可以使用以下命令验证安装:
anirudh@anirudh-xebia:~$ vagrant -v
Vagrant version 1.0.3
现在我们已经安装了Vagrant,VirtualBox,Ruby。 让我们尝试配置一个虚拟机。 我们将尝试使用vagrant在虚拟机上安装32位Ubuntu 12.04。 选择一个需要放置Vagrant文件的位置,我在家里做了一个myVMs文件夹
命令 :
anirudh@anirudh-xebia:~/myVMs$ vagrant init precise64 http://files.vagrantup.com/precise64.box
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
我们正在使用vagrant init命令,并指定ubuntu的版本以及它的预配置虚拟盒vm的路径。
让我们打开这个Vagrant文件,看看里面有什么:
........
.......
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "precise32"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
........
........
如我们所见,Vagrant文件的语法是Ruby。 在这里,我们看到在vagrant init中传递的参数已填充。 那么,这个“ 盒子 ”是什么? 盒子是构成Vagrant机器的骨架。 它们是可移植文件,其他人可以在运行Vagrant的任何平台上使用这些文件来建立工作环境。 框是特定于提供程序的,因此您必须根据所使用的提供程序来获得正确的框。 我们可以使用命令vagrant box来配置和添加框。 非常简单。
我们可以在http://www.vagrantbox.es上找到所需的基本框类型的URL列表。此外,如果我们不想在VagrantFile中提供该URL,则可以使用以下命令添加该框:
$vagrant box add name url
name是一个逻辑名称,从Vagrantfile中引用该框。 您可以在此处放置任何内容,但要知道Vagrant会将config.vm.box指令与此名称匹配,以便查找要使用的框.Url是框的位置。 这可以是本地文件系统的路径,也可以是远程指向该框的HTTP URL。
要查看所有添加的框,请使用命令:
$vagrant box list
接下来,让我们使用vagrant up命令启动计算机。 转到生成Vagrant文件的位置。 (在我们的例子中,它在〜/ myVMs /中)并运行以下命令:
vagrant up
这将从指定位置下载虚拟机盒。 运行以上两个命令后,您将在VirtualBox中拥有一个完全运行的虚拟机,该虚拟机运行64位Ubuntu 12.04 LTS。 您可以使用
vagrant ssh
当您玩完后,可以使用
vagrant destroy
使用Vagrant,您可以在任何项目上工作,安装项目所需的每个依赖项以及设置任何网络和同步文件夹,而无所事事,因此您可以在自己的机器上舒适地继续工作。
翻译自: https://www.javacodegeeks.com/2013/10/create-an-ubuntu-vm-using-vagrant-and-virtual-box.html