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