在主机启动时启动Vagrant VM

Shr*_*aik 20 ubuntu boot vagrant

我是流浪汉的新手,并且设置了一些我用于开发和测试目的的流浪者vm.我的问题是我不能让这些盒子在我的机器上自动启动(Ubuntu).vagrant up每次我的主机启动时转到文件夹和每台机器真的很烦人.

我试过添加一个看起来像的cronjob,cd path/to/vm/folder && vagrant up但这似乎没有用.

我也尝试了一个cronjob,VBoxManage但每次VM启动时,vagrant都会更改VM的名称(而不是数字/版本'vmname_version').

Ter*_*ang 12

Cron作业不适合这个用例,它适用于预定的作业.

当您将Ubuntu作为主机运行时,我建议使用/etc/rc.local,将命令放在rc.localinit进程结束时执行的脚本中.

它看起来像这样

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.    
cd /path/to/vagrant_vm1 && vagrant up
cd /path/to/vagrant_vm2 && vagrant up
exit 0
Run Code Online (Sandbox Code Playgroud)

注意:如果您使用相同的网络模式启动多个1 Vagrant框,则主机上将存在端口冲突 - NAT(默认),默认情况下使用相同的端口转发规则=> guest 22到主机2222.

如果你需要启动超过1个盒子(NAT),考虑使用公共网络(桥接)或使用VBoxManage controlvm启动虚拟机,请参阅两个单独的流浪汉机器,Windows主机,腻子的答案- 如何?


Dam*_*nis 7

这里是找到了一个启动脚本http://uhowto.urbylog.info/post/54097294891/an-upstart-script-to-launch-vagrant-box-automatically

自动启动vagrant box的upstart脚本有时可能需要在主机启动时自动启动vagrant虚拟机.同样,在关闭或重新启动主机时为guest虚拟机提供正常关闭.下面是代表randomjoe用户启动/暂停流浪盒的新手脚本示例.在下面的脚本中更改用户名和Vagrantfile目录.描述性地命名您的upstart配置文件.为系统启动时需要启动并运行的每个Vagrant文​​件创建一个/etc/init/*.conf文件./etc/init/vagrant-precise32.conf:

description "Start vagrant precise32 box on system startup"
author "uHOWTO"
env VAGRANTUSR=randomjoe
env VAGRANTBOXPATH=/home/randomjoe/vagrantboxes/precise32
start on stopped rc
stop on runlevel [016]

pre-start script
    cd ${VAGRANTBOXPATH}
    su -c "/usr/bin/vagrant up" ${VAGRANTUSR}
end script

post-stop script
    cd ${VAGRANTBOXPATH}
    su -c "/usr/bin/vagrant halt" ${VAGRANTUSR}
end script
Run Code Online (Sandbox Code Playgroud)