vagrant 复制虚拟机

vagrant 是管理虚拟机很好用的工具。

当我们在搭建集群环境的时候,新建一个虚拟机,并且在上面部署配置了一些应用后,

希望将当前虚拟机拷贝为多台虚拟机,这样就不用再进行部署了,那么按照下面的步骤就可以。

1 先停止当前要拷贝的虚拟机

vagrant halt

2 将当前虚拟机打包:

默认在当前目录下生成 package.box

vagrant package

3 创建一个新的文件夹

比如叫test,在文件夹下执行vagrant初始化命令生成配置文件

vagrant init

4 修改生成的配置文件 

vim Vagrantfile
#添加配置
#这里修改为当前文件夹的名字
config.vm.box = "test"
#这里是第2步生成的 package.box 所在的绝对路径
config.vm.box_url = "file:///d:/vagrant/node13/package.box"
config.vm.hostname="rabbitmq"

#放开网络配置,指定一个ip,用来待会远程连接
config.vm.network "private_network", ip: "192.168.56.16"

5 启动新的虚拟机

vagrant up

6 远程连接新的虚拟机

IP 是第4步修改的 IP 地址
登录使用ssh key的方式修改为
key的路径当前目录下的
.vagrant\machines\default\virtualbox\private_key
 
注意:
vagrant和virtualbox的版本要匹配,在package时的virtualbox的版本和运行的virtualbox版本要一致
否则vagrant up时会报错
D:\vagrant\rabbitmq>vagrant up
Bringing machine 'default' up with 'hyperv' provider...
==> default: Verifying Hyper-V is enabled...
==> default: Verifying Hyper-V is accessible...
==> default: Box 'rabbitmq' could not be found. Attempting to find and install...
    default: Box Provider: hyperv
    default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'rabbitmq' (v0) for provider: hyperv
    default: Unpacking necessary files from: file:///d:/vagrant/node13/package.box
    default:
The box you attempted to add doesn't match the provider you specified.

Provider expected: hyperv
Provider of box: virtualbox

 

 
 
posted on 2023-09-19 01:44  欢跳的心  阅读(100)  评论(0编辑  收藏  举报