【发布时间】:2021-07-31 15:51:14
【问题描述】:
我正在使用这个 docker-compose 创建一个支持 Lua 的 Nginx:
version: '3.9'
services:
nginx:
container_name: local_nginx
image: fabiocicerchia/nginx-lua
environment:
- REDIS_SERVER=172.26.0.1
ports:
- 8089:80
- 8053:8053
volumes:
- /home/navid/lua_project/nginx/nginx.conf:/etc/nginx/nginx.conf
- /home/navid/lua_project/nginx/www:/usr/share/nginx/html
- /home/navid/lua_project/lib/resty/redis.lua:/usr/local/share/luajit-2.0.4/resty/redis.lua
- /home/navid/lua_project/lib/resty/kafka:/usr/local/share/lua/5.1/resty/kafka
extra_hosts:
- host.docker.internal:host-gateway
现在我需要将 cjson 库添加到我的容器中。我在我的主机上尝试了 build 方法,但它抛出了这个异常:
lua.h: 没有这样的文件或目录
我还添加了这些行以使其在我的容器上:
- /home/navid/lua_project/lib/resty/lua-cjson:/usr/local/share/lua/5.1/resty/cjson
command:
- |
cd /usr/local/share/lua/5.1/resty/cjson
autoreconf -i -v --force
./configure
make
make install
但它在运行阶段失败并出现此错误:
exec:第 38 行:cd /usr/local/share/lua/5.1/resty/cjson autoreconf -i -v --force ./configure make make install : not found
是否有任何直接在我的容器上安装 cjson 的方法?
更新:
我终于构建了 cjson.so 并将其上传到我的 docker 容器中,但我收到了这个错误:
从文件“/usr/local/lib/lua/5.1/cjson.so”加载模块“cjson”: 重定位 /usr/local/lib/lua/5.1/cjson.so 时出错:__snprintf_chk:找不到符号
那么还有没有其他性能不错的替代库?
【问题讨论】: