общая библиотека не загружается в докере nginx
Мы использовали этот файл докеров по этой ссылке — https://github.com/nginxinc/docker-nginx/blob/master/mainline/alpine/Dockerfile .
И включен для установки этот дополнительный модуль -nginx-mod-http-lua
и образ докера был успешно создан. Мы подтверждаем, что необходимые модули существуют.
docker exec -it 3d69e289b253 /bin/sh
/ # ls /etc/nginx/modules/ngx_http_js_module.so
/etc/nginx/modules/ngx_http_js_module.so
/ # ls /etc/nginx/modules/ngx_http_js_module.so
/etc/nginx/modules/ngx_http_js_module.so
/ # ls /etc/nginx/modules/ngx_http_lua_module.so
/etc/nginx/modules/ngx_http_lua_module.so
/ #
Наш nginx.conf содержит следующее:
env ACME_KEY;
load_module modules/ngx_http_js_module.so;
load_module modules/ndk_http_module.so;
load_module modules/ngx_http_lua_module.so;
events {}
http {
js_import http.js;
server {
listen 8081;
location / {
js_content http.invalid_resource;
}
location /healthz {
js_content http.healthz_resource;
}
location /acme {
set_by_lua get_api_key 'return os.getenv("ACME_KEY")';
proxy_set_header API-Key $get_api_key;
proxy_pass https://acme.example.com/;
}
}
}
Мы запустили Docker-контейнер с сопоставлением томов nginx.conf, и Docker-контейнер не запускается с этой ошибкой ниже. Есть ли какое-нибудь решение, чтобы это исправить?
2023/08/24 21:42:22 [emerg] 1#1: dlopen() "/etc/nginx/modules/ngx_http_js_module.so" failed (Error loading shared library /etc/nginx/modules/ngx_http_js_module.so: No such file or directory) in /etc/nginx/nginx.conf:2
nginx: [emerg] dlopen() "/etc/nginx/modules/ngx_http_js_module.so" failed (Error loading shared library /etc/nginx/modules/ngx_http_js_module.so: No such file or directory) in /etc/nginx/nginx.conf:2