我正在升级 kong 网关并在运行映像时遇到问题 旧配置: 泊坞窗文件: kong/kong-网关:2.8.1.1
构建镜像时没有任何名为“kong-upg”的问题,并且我创建了另一个 docker compose 文件 与 kong 服务:
服务: kong网关: 图片:kong-upg 容器名称:kong-gateway 用户: kong 端口: - “8000:8000” 环境: KONG_DATABASE:“关闭”
但我收到以下错误
kong-gateway | 2024/04/29 12:32:56 [error] 24#0: init_by_lua error: attempt to compare string with number kong-gateway | stack traceback: kong-gateway | [C]: in function 'sort' kong-gateway | /usr/local/share/lua/5.1/kong/db/errors.lua:28: in function 'sorted_keys' kong-gateway | /usr/local/share/lua/5.1/kong/db/errors.lua:229: in function 'schema_violation' kong-gateway | /usr/local/share/lua/5.1/kong/db/schema/plugin_loader.lua:28: in function 'load_subschema' kong-gateway | /usr/local/share/lua/5.1/kong/db/dao/plugins.lua:265: in function 'load_plugin' kong-gateway | /usr/local/share/lua/5.1/kong/db/dao/plugins.lua:312: in function 'load_plugin_schemas' kong-gateway | /usr/local/share/lua/5.1/kong/init.lua:619: in function 'init' kong-gateway | init_by_lua:3: in main chunk kong-gateway | nginx: [error] init_by_lua error: attempt to compare string with number kong-gateway | stack traceback: kong-gateway | [C]: in function 'sort' kong-gateway | /usr/local/share/lua/5.1/kong/db/errors.lua:28: in function 'sorted_keys' kong-gateway | /usr/local/share/lua/5.1/kong/db/errors.lua:229: in function 'schema_violation' kong-gateway | /usr/local/share/lua/5.1/kong/db/schema/plugin_loader.lua:28: in function 'load_subschema' kong-gateway | /usr/local/share/lua/5.1/kong/db/dao/plugins.lua:265: in function 'load_plugin' kong-gateway | /usr/local/share/lua/5.1/kong/db/dao/plugins.lua:312: in function 'load_plugin_schemas' kong-gateway | /usr/local/share/lua/5.1/kong/init.lua:619: in function 'init' kong-gateway | init_by_lua:3: in main chunk kong-gateway | Error: /usr/local/share/lua/5.1/kong/cmd/start.lua:101: failed to start nginx (exit code: 1) kong-gateway | kong-gateway | Run with --v (verbose) or --vv (debug) for more details kong-gateway exited with code 1
有人遇到过这个问题吗?
尝试了不同的图像,但仍然遇到相同的问题
亲爱的,
我发现问题出在自定义插件格式中,因为 kong 抛出的错误具有误导性,因为它没有引用自定义插件中的特定代码。
我需要将插件处理程序中的格式调整为如下:
local typedefs = require "kong.db.schema.typedefs"
return {
name = "api-key-auth",
fields = {
{ consumer = typedefs.no_consumer },
{ config = { type = "record", fields = { }, }, },
},
}