Meteor-appをMeteordでドッキングしました。うまくいきました。私の問題は、いくつかの設定をアプリに渡したいということです。JSON-fileをDockerで環境変数に読み込みます。
Meteordは、設定ファイルを使ってアプリケーションを起動しません。これは、通常、設定をアプリケーションに与えるためです(meteor --settings file.json
)。これは、と呼ばれるwith an environement variableを行うことも可能です。
webappに他のサービスを実行させたいので、私はDocker Composeを使用しています。
は、私は環境変数として読み込むことにしたい私のsettings.json
-fileを持っているので、何かのように:
environment:
- METEOR_SETTINGS=$cat(settings.json)
しかしこれは動作しません。
DockerでJSONファイルに基づいてこの環境変数を動的に作成できるようにするにはどうすればよいですか?それはそれはしてテンプレートにトークンを置き換える簡単なシェルスクリプトでdocker-compose.yml
をテンプレートにかなり簡単です設定の多くはなら
:settings.json
に微調整できる変数の量に応じて、いくつかの策略なしに可能
ありがとうございました! docker-compose呼び出しをラップすることは何を意味しますか?答えにシェルスクリプトを使用したテンプレートテクニックの例を提供できますか? – Esso
私は答えをテストしましたが、テストされていません。 –
唯一の問題は、Meteorに組み込まれている環境変数へのアクセスがないことがわかったので、Nodeを経由する必要があります。私の解決策は、['env'-file](https://docs.docker.com/compose/env-file/)の' METEOR_SETTINGS'変数にJSON設定を貼り付けることでしたが、この提案されたscriped多くの設定変数がある場合、スクリプトは 'env'ファイルを作成します。 – Esso