沙滩星空的博客沙滩星空的博客

vagrant导入和导出box镜像

通过virtualbox自带的VBoxManaage.exe工具。使用vboxmanage list vms命令,查看需导出的虚拟机实例。然后用vagrant package命令进行打包导出。

导出

若提示vboxmanage命令不存在,请查看VBoxManage.exe文件所在路径。并添加到环境变量。

1、关闭vagrant

2、进入VirtualBox安装目录,执行命令:

vboxmanage list vms

E:\Program Files\Oracle\VirtualBox>vboxmanage list vms
"homestead-7" {536a3319-9656-4553-a017-223e73236b61}
"centos7_default_1554699879574_40893" {5ea69a69-fb4c-4216-a41a-18095f1d9aa6}

3.导出,并备份私钥登录文件。private_key。路径在.vagrant\machines\default\virtualbox
若--base和--output参数未指定,则默认导出当前环境虚拟机,到当前目录的package.box文件。

vagrant package --base centos7_default_1554699879574_40893 --output [定义的别名]

vagrant package    是导出box的打包命令 
--base                      代表本地 
centos7_default_1554699879574_40893     要导出的box的名称 
–output                     导出到指定位置
[定义的别名]     如:./CentOS7.box 表示导出后的box名为CentOS7.box,并保存在当前目录下 

导入

1 导入box并init初始化,生成vagrantfile

vagrant box add [你自定义的别名] [包名]

例:
1.1 导入box虚拟机文件

vagrant box add -name mycentos-7 D:\Vagrant\mybox\CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box

1.2 init初始化,生成Vagrantfile文件

vagrant init

2 编辑Vagrantfile
2.1 设置使用的box名:

config.vm.box = "base"
把base更改成导入的box名

2.2 设置登录账号密码或密钥

config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
config.ssh.insert_key = false

或直接设置私钥登录,把之前备份的私钥登录文件放进默认目录(在当前目录的.vagrant文件夹下,文件夹最前面有个点)。

.vagrant\machines\default\virtualbox
config.ssh.insert_key = true

3设置IP

config.vm.network "private_network", ip: "192.168.2.166"

4设置文件映射.左边文件夹是你的windows工作目录名,右边是linux对应的目录名。

config.vm.synced_folder "../workspace", "/media/raid10/htdocs"

5设置内存.由于我配置的是多版本php,需要空间大一点,就给2G.如果对空间没要求,可以跳过。

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

启动vagrant

vagrant up


注意:vagrant up会直接创建虚拟机。
如果创建失败或报错。修改Vagrantfile后,重新执行vagrant up前。请切记不要直接删除目录中的.vagrant文件夹。这样会生成2个虚拟机!
修改Vagrantfile后,不要动.vagrant目录。直接执行vagrant reload重载虚拟机即可。
如不小心手动删除了.vagrant目录,因为.vagrant\machines\default\virtualbox路径下有虚拟机运行的配置文件。可能导致virtual box和vagrant都无法正常删除新创建的虚拟机。
删除.vagrant目录的文件,请直接使用

vagrant destroy

玩转Vagrant之工作环境的迁移 https://blog.csdn.net/glatchen/article/details/83187484
如何导出vagrant box https://blog.csdn.net/song634/article/details/82805557
vagrant package 打包命令的用法 https://www.viphper.com/1411.html
未经允许不得转载:沙滩星空的博客 » vagrant导入和导出box镜像

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址