您的当前位置:首页正文

vagrant 常用操作

来源:华拓网

添加 box

vagrant box add [box name] [box path]

// 示例
vagrant box add centos7 centos.box

创建虚机

新建一个工作目录:

mkdir test
cd test

初始化虚机:

vagrant init centos7

执行后在当前目录生成配置文件 Vagrantfile,修改:

// 设置主机名
// 放到这行 config.vm.box = "centos7" 下面即可
config.vm.hostname = "myservername"

// 打开此项,使用公开网络
// 自动分配一个局域网IP,和主机可以互相通过IP沟通
 "public_network"
// 还可以直接指定bridge和IP,例如:
 "public_network", :bridge => "en0: Wi-Fi (Airport)", :ip => "192.168.3.140"

// 打开此项,修改内存分配,默认是 1024
config.vm.provider "virtualbox" do |vb|
#   # Display the VirtualBox GUI when booting the machine
#   vb.gui = true
#
#   # Customize the amount of memory on the VM:
  vb.memory = "2048"
end

启动虚机

vagrant up

登录虚机

vagrant ssh

执行一些初始操作:

// 切换 root 用户
sudo su -

// 安装网络包
yum install -y net-tools

// 查看ip
// 得到IP后,在主机上就可以通过 `ssh root@ip` 形式登录了,密码 vagrant
ifconfig

// 关闭防火墙
systemctl stop firewalld.service
service   iptables stop

关闭虚机

vagrant halt

重启

vagrant reload

删除虚机

vagrant destroy

打包

在虚机上安装好自己的常用软件,可以作为以后新建虚机的基础,可以把当前的虚机打包,形成 box

vagrant package

Vagrantfile模板

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-16.04"
  #config.vm.provision "docker"
  config.vm.hostname = "myserver"
   "private_network", type: "dhcp"

   config.vm.provider "virtualbox" do |vb|
     vb.memory = "2048"
   end
end