openresty:高山docker集装箱内的set_by_lua&os.getenv
我在正式的 alpine-fat
docker图像中运行openresty
nginx,openresty过程从nobody
用户开始。
我需要设置下一个string的nginxvariables:
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
variables的值。
如果可以的话,我怎样才能使这件事情起作用?
尝试添加env ENV_VAR;
到你的nginxconfiguration。 默认情况下,nginx将放弃所有的环境variables,这将允许保存它。
从https://nginx.org/en/docs/ngx_core_module.html#env
语法:env variable [= value];
默认:
env TZ;
上下文:主
默认情况下,除了TZvariables,nginx会删除从父进程inheritance的所有环境variables。 该指令允许保留一些inheritance的variables,更改它们的值或创build新的环境variables。