如何让 Vagrant 在启动时启动服务器?

如何让 Vagrant 在启动时启动服务器?

我希望每次执行 vagrant up 时,Vagrant 都会在 /vagrant/ 文件夹中启动 Play 服务器。将 @reboot 放在 crontab 上不起作用,因为脚本在连接 /vagrant/ 文件夹之前运行。

答案1

除了使用 crontab,你还尝试过使用暴发户

当共享文件夹被挂载时,Vagrant 会发出“vagrant-mounted”事件,因此您可以创建一个 upstart conf 文件,比如说/etc/init/play.conf,在发出该事件时运行:

description "Play server"
start on vagrant-mounted

pre-start script
    [ "$MOUNTPOINT" == "/vagrant" ] || stop
end script

... rest of config file for starting Play server ...

答案2

我发现使用带有选项的单独 vagrant provisionerrun : "always"要容易得多,例如:

config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false

https://docs.vagrantup.com/v2/provisioning/shell.html以获取完整文档。

相关内容