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

时间:2020-02-23 14:45:09  来源:igfitidea点击:

Vagrant工具为我们提供了管理和控制虚拟机的最佳环境。
这适用于任何Linux发行版。

如果我们已将Runive VirtualBox VM与Vagrant Box一起运行VirtualBox VM,则安装Vagrant Box可能不是一个有效的方法。
此外,如果我们已更新预先存在的VM,则可以保存带宽,并且可能安装了新的Vagrant受控虚拟机上的其他软件包。

第1步:创建Vagrant Box目录

为要创建的Vagrant框创建一个目录。

mkdir -p ~/vagrant
cd ~/vagrant
mkdir centos7

第2步:在现有VM上创建Vagrant用户

我们当前需要转换为Vagrant Box的VM需要创建VAGRANT用户。
如果缺少,请创建一个名为"VAGRANT"的用户名,密码"VAGRANT"。
如果不是,你可以添加它

$nano adduser.sh

粘贴下面的代码并保存文件。

# Vagrant specific
date > /etc/vagrant_box_build_time
# Add vagrant user /usr/sbin/groupadd vagrant
/usr/sbin/useradd vagrant -g vagrant -G wheel
echo "vagrant"|passwd --stdin vagrant
echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
chmod 0440 /etc/sudoers.d/vagrant
# Installing vagrant keys
mkdir -pm 700 /home/vagrant/.ssh
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh
# Customize the message of the day
echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd

使脚本可执行并运行它。

chmod +x adduser.sh
./adduser.sh

第3步:创建基本流浪框

更改为包含我们下载的Centos Vagrant Box的目录。

cd ~/vagrant/centos7

创建一个名为VAGRANTFILE的文件,并粘贴以下数据。

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

带来添加的VM

vagrant up

如果在旋转旋转中,我们应该默认登录。
如果收到错误消息"默认值:警告:连接超时。
重试......",尝试按CTL + C并使用Vagrant SSH登录。

第4步:复制VM虚拟磁盘

将目录更改为VirtualBox VM目录,并查找我们想要进行新添加的框的VirtualBox VM的名称。

cd  ~/VirtualBox VMs/
ls

我是Centos-Asterisk文件夹。
vmdk名称为CentOS-Asterisk-Disk1.vmdk。
我们需要将此文件复制到包含Vagrant VM的目录我们添加了"CentOS7"。

现在重命名我们在VirtualBox GUI上添加的VM。
在我们可以重命名之前,我们必须关闭它。

cd ~/vagrant/centos7
vagrant halt

重命名转到虚拟机>常规>基本>名称

接下来要做的是将CentOS-Asterisk-disk1.vmdk复制到box-disk1.vmdk。
确保虚拟机关闭,如果没有关闭它。

cp ~/VirtualBox VMs/centos-asterisk/centos-asterisk-disk1.vmdk ~/VirtualBox VMs/centos7/box-disk1.vmdk

现在开始Vagrant

cd ~/vagrant/centos7
vagrant up
vagrant ssh

第4步:安装VirtualBox Guest添加

在客户操作系统上安装VirtualBox Guest添加。

从主机,复制到vboxguestadditions.iso~/vagrant/centos7.
然后在客户操作系统上运行

mount -o loop /vagrant/VBoxGuestAdditions.iso /mnt
sh /mnt/VBoxLinuxAdditions.run
umount /mnt