有关在Vagrant中使用现有虚拟机的逐步指南

这将指导您打包与Vagrant一​​起使用的现有环境,并用新的box文件替换共享磁盘。这些box文件可以使管理虚拟机以及这些虚拟机的不同版本非常简单,尤其是在您不想每次都从基本框构建环境。

上次我讨论了如何使用Vagrant在Virtualbox中添加,安装和运行CentOS 7 Vagrant box以及在Linux上如何将Default Vagrant Provider设置为Virtualbox; Fedora,DebianUbuntu

在此示例中,我将使用Oracle Virtualbox的现有虚拟机环境构建,在该虚拟机环境中,我将基于已创建为VirtualBox机器的CentOS 7操作系统选择现有环境,虚拟机的名称为openstack-控制器显示在下面的屏幕截图中。

我们要重用的计算机上存在一个用户帐户。
凭据是:

Username: vagrant
Password: vagrant

注意:我的现有虚拟机已安装并配置了ssh。在打包虚拟机之前,请确保已安装ssh。
现在,导航到包含Virtualbox虚拟机的文件夹;我的是/ home / josepy / VirtualBox VMs /

cd /home/josepy/VirtualBox VMs/

使用ls命令检查要打包的虚拟机是否存在。

有关在Vagrant中使用现有虚拟机的逐步指南

现在打包并导出虚拟机。

 vagrant package --base=openstack-controller --output=openstack-asterisk.box

–基地=“您的现有虚拟机名称”–输出=“您要为包装盒指定的名称”
成功包装盒子后,我们应该创建一个文件夹来容纳无所事事的环境。

mkdir -p ~/vagrant
cp openstack-asterisk.box ~/vagrant
cd ~/vagrant

然后将包装盒导入您的环境。

vagrant box add --name=openstack-asterisk openstack-updated-centos.box

有关在Vagrant中使用现有虚拟机的逐步指南

此命令会将框复制到本地Vagrant缓存中,因此您现在可以直接使用该框了。
编辑Vagrantfile中的框名以匹配上面添加的框名.Mine是openstack-asterisk。

vagrant init
vi Vagrantfile

然后在第15行上编辑config.vm.box,请参见下面的屏幕截图。

有关在Vagrant中使用现有虚拟机的逐步指南

通过运行流浪汉开始添加框

vagrant up

有关在Vagrant中使用现有虚拟机的逐步指南

现在,您应该可以使用它了。

vagrant ssh

有关在Vagrant中使用现有虚拟机的逐步指南

如果您的用户名和密码不是
用户名:无业游民
密码:无业游民

vim  Vagrantfile

设置用户名和密码:

config.ssh.username = "username" config.ssh.password = " password"

有关在Vagrant中使用现有虚拟机的逐步指南

如果您遇到尝试ssh之类的问题,例如“ retrying…”。

vagrant up

然后在持续尝试重试登录问题后,按CTL + C取消,这将使Vagrant虚拟机在后台运行。现在,生成ssh密钥并记下其存储位置。

 vagrant  ssh-config

您将获得类似于以下内容的输出。

有关在Vagrant中使用现有虚拟机的逐步指南

我的ssh密钥位于“ /home/josepy/vagrant/centos-asterisk/.vagrant/machines/default/virtualbox/private_key”中
将上面给出的位置添加到Vagrant文​​件中

vim  Vagrantfile

从行开始
config.ssh.private_key_path =“ ssh-config命令给定的路径”
我的专线是:

config.ssh.private_key_path="/home/josepy/vagrant/centos-asterisk/.vagrant/machines/default/virtua    lbox/private_key"

有关在Vagrant中使用现有虚拟机的逐步指南

将路径替换为您的路径。接下来,我们要做的就是更新guest虚拟机上的VirtualBox Guest添加项。
在virtualbox菜单上,转到“文件”>“虚拟媒体管理器”>“光盘”,您应该看到VBoxGuestAdditions iso文件。如果没有,请先下载它。
就我而言,它的位置是/home/josepy/.config/VirtualBox/VBoxGuestAdditions_5.0.12.iso

有关在Vagrant中使用现有虚拟机的逐步指南

我将上面的iso复制到来宾os。按照下面的步骤来实现它。
1)确保Guest OS正在运行,并且SSH服务器也已安装并且正在运行。
2)如果您不在本地网络上,请在VirtualBox Guest OS设置菜单上的网络选项下进行端口转发.VirtualBox> centos-asterisk> Settings> Network> Adapter 1> Port Forwarding。
如果不存在规则,请通过按以下说明单击+号来添加规则。

Name: ssh
Protocol: TCP
Host IP: 127.0.0.1
Host port: 2222
Guest port: 22

单击确定保存更改。

有关在Vagrant中使用现有虚拟机的逐步指南

3)在主机操作系统上,使用scp将VBoxGuestAdditions.iso文件复制到Guest

scp -P 2222 /home/josepy/.config/VirtualBox/VBoxGuestAdditions_version.iso [email protected]:~

用您的来宾操作系统用户名替换无业游民。
您确定要继续连接(是/否)吗?

有关在Vagrant中使用现有虚拟机的逐步指南

4)在Guest OS上,将VBoxGuestAdditions_version.iso挂载到/ mnt

sudo su -
cd /home/vagrant
mount -o loop VBoxGuestAdditions_5.0.12.iso /mnt/
cd /mnt/
sh VBoxLinuxAdditions.run 

有关在Vagrant中使用现有虚拟机的逐步指南

有关在Vagrant中使用现有虚拟机的逐步指南

5)通过按CTL + D键两次注销并重新加载VM,然后

vagrant reload

现在,您应该有一个可以正常工作的Vagrant环境。仅此,感谢您的阅读。
希望本文对您有所帮助。如果您遇到任何问题/错误,请将其放在“评论”部分中告诉我。

标签:
如何使用现有的VirtualBox虚拟机添加游民箱
Vagrant VirtualBox虚拟机创建
将现有虚拟机与Vagrant一​​起使用
流浪汉快速创建虚拟Machone环境。

这里有另一种方法

从现有Virtualbox VM创建Vagrant Box的最简单方法

Sidebar