set_by_lua& openresty中的os.getenv:alpine docker container

时间:2017-12-25 15:14:51

标签: docker nginx lua docker-compose openresty

我在official openresty泊坞窗图片中运行alpine-fat nginx,而openresty流程从nobody用户开始。

我需要使用下一个字符串设置nginx变量:

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

docker-compose.yml包含下一个块:

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

但是,nginx工作进程似乎没有得到它的价值,$var仍然是空的。

我尝试将export ENV_VAR=value添加到/etc/profile文件,但没有用。 我尝试使用nginx用户运行openresty,但它也看不到ENV_VAR变量的值。

如果可以,我怎样才能使那件事成功?

1 个答案:

答案 0 :(得分:1)

尝试将env ENV_VAR;添加到您的nginx配置中。默认情况下,nginx会丢弃所有环境变量,这样就可以保存它。

来自action

  

语法:env variable [= value];

     

默认值:

     

env TZ;

     

上下文:主要

     

默认情况下,nginx会删除从其父进程继承的所有环境变量,但TZ变量除外。该指令允许保留一些继承的变量,更改它们的值或创建新的环境变量。