kong/kong-gateway-devKong Gateway Nightly Builds 是 Kong Gateway 的每日构建版本,基于 Kong 官方代码仓库的最新开发分支自动构建。该镜像包含 Kong 团队当前开发中的最新功能、Bug 修复及实验性特性,旨在为开发者提供提前体验和测试未来版本功能的途径。
继承 Kong Gateway 标准版本的核心能力,包括:
kong:3.x)。Nightly 镜像托管于 Docker Hub,标签为 kong/kong:nightly:
bashdocker pull kong/kong:nightly
适用于快速测试,配置通过文件或 API 动态加载,无需数据库:
bash# 1. 准备 dbless 配置文件(示例:kong.yml) cat > kong.yml << EOF _format_version: "3.0" services: - name: example-service url: [***] routes: - name: example-route paths: ["/"] EOF # 2. 启动容器(挂载配置文件,暴露代理和管理端口) docker run -d \ --name kong-nightly-dbless \ -p 8000:8000 \ # 代理端口(HTTP) -p 8443:8443 \ # 代理端口(HTTPS) -p 8001:8001 \ # 管理 API 端口(HTTP) -p 8444:8444 \ # 管理 API 端口(HTTPS) -v $(pwd)/kong.yml:/etc/kong/kong.yml:ro \ -e KONG_DATABASE=off \ # 禁用数据库 -e KONG_DECLARATIVE_CONFIG=/etc/kong/kong.yml \ # 指定 dbless 配置文件 -e KONG_PROXY_LISTEN=0.0.0.0:8000, 0.0.0.0:8443 ssl \ # 代理监听地址 -e KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl \ # 管理 API 监听地址 kong/kong:nightly
需先启动 PostgreSQL 并初始化 Kong 数据库:
bash# 1. 启动 PostgreSQL(示例) docker run -d \ --name kong-nightly-db \ -e POSTGRES_DB=kong \ -e POSTGRES_USER=kong \ -e POSTGRES_PASSWORD=kong \ -p 5432:5432 \ postgres:14-alpine # 2. 初始化 Kong 数据库(migrations) docker run --rm \ --link kong-nightly-db:postgres \ -e KONG_DATABASE=postgres \ -e KONG_PG_HOST=postgres \ -e KONG_PG_PORT=5432 \ -e KONG_PG_USER=kong \ -e KONG_PG_PASSWORD=kong \ -e KONG_PG_DATABASE=kong \ kong/kong:nightly kong migrations bootstrap # 3. 启动 Kong Nightly(连接数据库) docker run -d \ --name kong-nightly \ --link kong-nightly-db:postgres \ -p 8000:8000 \ -p 8443:8443 \ -p 8001:8001 \ -p 8444:8444 \ -e KONG_DATABASE=postgres \ -e KONG_PG_HOST=postgres \ -e KONG_PG_PORT=5432 \ -e KONG_PG_USER=kong \ -e KONG_PG_PASSWORD=kong \ -e KONG_PG_DATABASE=kong \ -e KONG_PROXY_LISTEN=0.0.0.0:8000, 0.0.0.0:8443 ssl \ -e KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl \ kong/kong:nightly
以下为数据库模式的 docker-compose.yml 示例,集成 Kong Nightly 和 PostgreSQL:
yamlversion: "3.8" services: postgres: image: postgres:14-alpine container_name: kong-nightly-db environment: POSTGRES_DB: kong POSTGRES_USER: kong POSTGRES_PASSWORD: kong ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U kong -d kong"] interval: 5s timeout: 5s retries: 5 kong: image: kong/kong:nightly container_name: kong-nightly depends_on: postgres: condition: service_healthy environment: KONG_DATABASE: postgres KONG_PG_HOST: postgres KONG_PG_PORT: 5432 KONG_PG_USER: kong KONG_PG_PASSWORD: kong KONG_PG_DATABASE: kong KONG_PROXY_LISTEN: 0.0.0.0:8000, 0.0.0.0:8443 ssl KONG_ADMIN_LISTEN: 0.0.0.0:8001, 0.0.0.0:8444 ssl ports: - "8000:8000" # 代理 HTTP - "8443:8443" # 代理 HTTPS - "8001:8001" # 管理 API HTTP - "8444:8444" # 管理 API HTTPS command: > sh -c "kong migrations bootstrap && kong start"
启动命令:
bashdocker-compose up -d
| 环境变量 | 说明 | 默认值 | 适用场景 |
|---|---|---|---|
KONG_DATABASE | 数据库类型,可选 postgres、cassandra 或 off(无数据库模式) | postgres | 所有模式 |
KONG_DECLARATIVE_CONFIG | 无数据库模式下的配置文件路径(需挂载至容器内) | - | dbless 模式 |
KONG_PG_HOST | PostgreSQL 主机地址 | localhost | 数据库模式(PostgreSQL) |
KONG_PG_PORT | PostgreSQL 端口 | 5432 | 数据库模式(PostgreSQL) |
KONG_PG_USER | PostgreSQL 用户名 | kong | 数据库模式(PostgreSQL) |
KONG_PG_PASSWORD | PostgreSQL 密码 | - | 数据库模式(PostgreSQL) |
KONG_PG_DATABASE | PostgreSQL 数据库名 | kong | 数据库模式(PostgreSQL) |
KONG_PROXY_LISTEN | 代理服务监听地址(支持 TCP/UDP,可指定端口、SSL 等) | 0.0.0.0:8000, 0.0.0.0:8443 ssl | 所有模式 |
KONG_ADMIN_LISTEN | 管理 API 监听地址(用于配置管理) | 127.0.0.1:8001, 127.0.0.1:8444 ssl | 所有模式(需暴露时修改为 0.0.0.0) |
KONG_LOG_LEVEL | 日志级别,可选 debug、info、warn、error | info | 调试或问题排查 |
部署后可通过管理 API 验证 Kong 是否正常运行:
bash# 检查 Kong 版本(nightly 版本号格式如 `3.6.0-nightly-<commit-hash>`) curl http://localhost:8001/ | jq .version # 测试代理路由(以 dbless 模式示例中的 "example-service" 为例) curl http://localhost:8000/anything
kong/kong:nightly 标签会覆盖旧版本,建议通过 docker pull 定期更新。kong migrations up(而非 bootstrap)。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务