Vagrantに起動時にサーバーを起動させるにはどうすればよいですか?


29

Vagrantを実行するたびに、Vagrantが/ vagrant /フォルダーでPlayサーバーを起動するようにします。/ vagrant /フォルダーが接続される前にスクリプトが実行されるため、crontabに@rebootを配置しても機能しません。

回答:


16

crontabを使用する代わりに、Upstartを使用してみましたか?

Vagrantは、共有フォルダーがマウントされると「vagrant-mounted」イベントを発行するため、たとえば/etc/init/play.conf、そのイベントが発行されたときに実行するupstart confファイルを作成できます。

description "Play server"
start on vagrant-mounted

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

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

ありがとう!エラーが発生した理由がわからないので、/bin/sh: 1: [: =: unexpected operatorその行のコメントを外しました。
間違ったユーザー名14年

おっとっと!構文が正しいように投稿を編集しました。
ビリー14年

することができますstart on vagrant-mounted MOUNTPOINT=/vagrantだけでなく動作しますか?
km6zla

私のスタートアップスクリプトstart on vagrant-mountedは、何らかの理由で機能しません。理由がわからず、デバッグ方法もまったくわかりません。
maectpo

44

別のVagrantプロビジョニングツールを使用すると、オプションrun : "always"がはるかに簡単になります。たとえば、

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

完全なドキュメントについては、https://docs.vagrantup.com/v2/provisioning/shell.htmlを参照してください


3
提供されたリンクはについて何も言っていません"always"。たぶん、これは新しいバージョンで削除されました。
ラファエル・アイング16年

6
それのためのドキュメントがである@RafaelEyng vagrantup.com/docs/provisioning/basic_usage.html、「か、常にONCE RUN」の検索
ダニエル・コンプトン

2017年に再テスト。魅力のように機能します。これが最良の答えであり、最新の状態です。
iaforek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.