5

Vagrant OS の起動時に、ホストからゲストの Vagrant OS にいくつかの ENV 変数を設定する方法はありますか? ゲスト OS からデータベースに接続する必要があり、データベースの URL をホストからゲストに渡すだけでなく、他のパラメーターも渡したいと考えています。

試してみましTEST="foo" vagrant upたが、TEST はゲスト OS の環境変数のどこにもありません。何か案は?

4

2 に答える 2

2

「vagrant up」を変更する方法は機能しません。これを行う正しい方法は、プロビジョニング中です。使用しているプロビジョナーに応じて、さまざまな方法があります。

以下は、プロビジョニング中にホストの PATH env をゲストにエコーする方法の例です。

config.vm.provision "shell", inline: "echo " + ENV['PATH']

ご覧のとおり、Vagrantfile 内では、ENV変数を使用してホスト環境変数にアクセスできます。これを使用して、選択したプロビジョナーに変数を渡し、必要に応じて処理できます。

私はシェフに最も慣れているので、次のようにします。

  1. Vagrantfile を介して必要なすべての ENV 変数をいくつかのシェフ属性に渡します
  2. 提供された値を繰り返し処理し、エクスポート ステートメントを書き込むテンプレートを作成します。
  3. シェフを使用して、このテンプレートを/etc/profile.d/ニーズに合った名前で配置します
于 2014-03-23T10:57:22.920 に答える