从现有VirtualBox VM创建Vagrant Box的最简单方法
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