Vagrant 是一款虚拟机管理软件,我在Ubuntu上创建一个Guest Ubuntu OS,步骤如下:
- sudo apt install virtualbox vagrant 默认使用virtualbox作为虚拟机软件,也支持其他虚拟机软件,例如vmware.
- 到 这里 下载最新的vagrant, 注意在ubuntu 16.04中用apt install vagrant 安装的版本有点旧,有bug.
root@ubuntu:~# cd $HOME
root@ubuntu:~# apt install virtualbox
root@ubuntu:~# mkdir vagrant && cd vagrant
root@ubuntu:~# wget https://releases.hashicorp.com/vagrant/2.0.3/vagrant_2.0.3_x86_64.deb?_ga=2.186063662.687213090.1523046623-572958348.1523046623 -O vagrant_2.0.3_x86_64.deb
root@ubuntu:~# dpkg -i vagrant_2.0.3_x86_64.deb
装好以后,添加Guest OS.
root@ubuntu:~# vagrant init ubuntu/xenial64
root@ubuntu:~# vagrant up
第一个命令会在当前目录下创建一个名为Vagrantfile的配置文件:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
end
第一次运行 vagrant up的时候会自动到网上下载Ubuntu cloud image,保存到 $HOME/.vagrant.d下面,然后会自动部署一个virtualbox虚拟机,并启动。
启动完成以后,利用 vagrant ssh 就可以登陆到虚拟机了。
root@ubuntu:~/vagrant# vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
Last login: Fri Apr 6 21:22:13 2018 from 10.0.2.2
vagrant@ubuntu-xenial:~$
真的很方便,Guest OS 里面的 /vagrant目录和 Host OS vagrant 配置文件所在目录是共享的。
vagrant@ubuntu-xenial:~$ echo "hello from geust" > /vagrant/test.txt
vagrant@ubuntu-xenial:~$ exit
root@ubuntu:~/vagrant# cat test.txt
hello from geust
关机
root@ubuntu:~/vagrant# vagrant halt
Vagrant默认给 Guest OS 分配1G的内存,如果机器内存够大,可以把Guest Ubuntu的内存调大一点。修改$HOME/vagrant/Vagrantfile, 去掉注释,把内存改成2G.
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
重新开机验证:
root@ubuntu:~/vagrant# vagrant up
root@ubuntu:~/vagrant# vagrant ssh
vagrant@ubuntu-xenial:~$ free -m
total used free shared buff/cache available
Mem: 3951 76 3681 5 194 3651
Swap: 0 0 0
关机,并创建一个快照
root@ubuntu:~/vagrant# vagrant snapshot save fresh-installed-ubuntu
root@ubuntu:~/vagrant# vagrant snapshot list
fresh-installed-ubuntu
下一篇将介绍如何为Guest Ubuntu编译运行自己的内核。
网友评论