2017-12-25 13 views
0

実行中openresty nginx内officialalpine-fatドッカー画像、openrestyプロセスはnobodyで始まります。私は次の文字列でnginxの変数を設定する必要がopenresty内のset_by_lua&os.getenv:アルパインドッカーコンテナ

:nginxのワーカープロセスがその値を取得していないようで、$varは空のままで、

build: 
    context: . 
    dockerfile: ./Dockerfile.nginx 
environment: 
    - ENV_VAR=value 

しかし:

set_by_lua $var 'return os.getenv("ENV_VAR")'; 

docker-compose.ymlは、次のブロックが含まれています。

export ENV_VAR=value/etc/profileに追加しようとしましたが、使用しませんでした。 nginxユーザーでopenrestyを実行しようとしましたが、変数ENV_VARの値も表示されません。

できればどうすればいいですか?

+0

nginxの設定に 'env ENV_VAR;'を追加してみてください。デフォルトでは、nginxはすべての環境変数を破棄します。これで保存できます。 –

+0

私の命の恩人、仲間、ありがとう、答えとしてこれを加えてください。 –

答えて

1

env ENV_VAR;をnginxの設定に追加してみてください。デフォルトでは、nginxはすべての環境変数を破棄します。これで保存できます。

https://nginx.org/en/docs/ngx_core_module.html#env

構文より:ENV変数[=値]。

デフォルト:

のenv TZ。

コンテキスト:デフォルトで

メイン、nginxのは、TZ変数を除いて、その親プロセスから継承されたすべての環境変数を削除します。このディレクティブを使用すると、継承された変数の一部を保持したり、値を変更したり、新しい環境変数を作成したりすることができます。

関連する問題