openresty中的set_by_lua&os.getenv:alpine docker container
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openresty中的set_by_lua&os.getenv:alpine docker container相关的知识,希望对你有一定的参考价值。
我在openresty
official docker image中运行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
变量的值。
如果可以的话,我怎样才能使那件事成功?
答案
尝试将env ENV_VAR;
添加到您的nginx配置中。默认情况下,nginx将丢弃所有环境变量,这将允许保存它。
来自https://nginx.org/en/docs/ngx_core_module.html#env
语法:env variable [= value];
默认:
env TZ;
背景:主要
默认情况下,nginx会删除从其父进程继承的所有环境变量,但TZ变量除外。该指令允许保留一些继承的变量,更改其值或创建新的环境变量。
以上是关于openresty中的set_by_lua&os.getenv:alpine docker container的主要内容,如果未能解决你的问题,请参考以下文章