virtualbox - Vagrant ,VirtualBox,Supervisord : When is synced folder mounted?

标签 virtualbox vagrant puppet supervisord

我正在运行一个带有 Supervisord 的虚拟机来启动和维护几个重要的后台进程。我使用 vagrant 和 virtualbox 创建虚拟机,并使用 puppet 对其进行配置。当机器启动时,supervisord 会抓取/etc/supervisor/conf.d 中的所有 .conf 文件并尝试运行它们。不幸的是,当我运行时

Vagrant up

supervisord 在共享同步文件夹之前立即开始尝试运行 conf.d 中的文件。因此,启动一些后台进程(如 Xvfb)运行得很好,但无法启动驻留在同步文件夹中的统计跟踪器。事实上,我在 supervisord 日志中看到多次尝试启动进程,提示找不到文件,最后放弃。然后,一旦机器完全运行,我就可以通过 SSH 登录并在 .conf 文件中运行完全相同的命令,然后自己启动该过程。

我创建了一个中间脚本来连续循环,等待同步文件夹可用,然后启动我想要的进程。但在这种情况下,supervisor 没有办法确保进程保持运行,感觉就像是 hack。

有没有更简洁的方法来做到这一点?也许来自 puppet 或 vagrant?

最佳答案

经过更多谷歌搜索后,我发现这解决了我的问题:http://razius.com/articles/launching-services-after-vagrant-mount/

关于virtualbox - Vagrant ,VirtualBox,Supervisord : When is synced folder mounted?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623247/

相关文章:

vagrant - 有没有办法在 Vagrant 中取消同步子文件夹?

networking - 多个 Vagrant VM 可以通过 VM 主机名进行通信吗?

macos - OSX Mavericks 升级后 Vagrant 同步文件夹不工作

testing - 使用 master 运行 puppet apply 以获取依赖项

django - 使用 Django 的本地开发服务器时,本地站点未在 VirtualBox 中显示?

ubuntu - Docker 机器 + Docker Compose + Ubuntu 上的卷

kernel - Vagrant up 和 VM 不工作 Fedora 22

Android:AVD的模拟器进程被杀死

linux - vagrant up命令SSL证书问题

puppet - 在 puppet 中使用多个 hiera.yaml 文件