【Docker】Kong 容器化部署及配置参数说明

2024-03-17 15:52

本文主要是介绍【Docker】Kong 容器化部署及配置参数说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Kong标准软件基于Bitnami apache 构建。当前版本为2.4.58

你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform

qinghub自动安装部署配置库

什么是Kong?

Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。

快速运行

docker run --name kong bitnami/kong:latest

配置

环境变量

可定制的环境变量
NameDescriptionDefault Value
KONG_MIGRATE执行Kong数据库迁移。no
KONG_EXIT_AFTER_MIGRATE执行数据库迁移后退出 Kong.no
KONG_PROXY_LISTEN_ADDRESSKong 代理守护进程的监听地址.0.0.0.0
KONG_PROXY_HTTP_PORT_NUMBERKong 代理守护进程的 HTTP 端口.8000
KONG_PROXY_HTTPS_PORT_NUMBERKong 代理守护程序的 HTTPS 端口.8443
KONG_ADMIN_LISTEN_ADDRESSKong 管理守护进程的监听地址。0.0.0.0
KONG_ADMIN_HTTP_PORT_NUMBERKong 管理守护进程的 HTTP 端口。8001
KONG_ADMIN_HTTPS_PORT_NUMBERKong 管理守护进程的 HTTPS 端口。8444
KONG_NGINX_DAEMON为 nginx 守护进程设置静默日志流。off
KONG_PROXY_LISTENKong代理监听地址。${KONG_PROXY_LISTEN_ADDRESS}:${KONG_PROXY_HTTP_PORT_NUMBER}, ${KONG_PROXY_LISTEN_ADDRESS}:${KONG_PROXY_HTTPS_PORT_NUMBER} ssl
KONG_PROXY_LISTEN_OVERRIDE覆盖代理监听。no
KONG_ADMIN_LISTENKong管理员监听地址。${KONG_ADMIN_LISTEN_ADDRESS}:${KONG_ADMIN_HTTP_PORT_NUMBER}, ${KONG_ADMIN_LISTEN_ADDRESS}:${KONG_ADMIN_HTTPS_PORT_NUMBER} ssl
KONG_ADMIN_LISTEN_OVERRIDE覆盖管理员监听。no
KONG_DATABASE选择 Kong 的数据库。postgres
KONG_DATABASE选择 Kong 的数据库。postgres
KONG_NGINX_USER设置nginx用户。${KONG_DAEMON_USER} ${KONG_DAEMON_GROUP}
只读环境变量
NameDescriptionValue
KONG_BASE_DIRKong 安装目录。${BITNAMI_ROOT_DIR}/kong
KONG_CONF_DIRKong 配置目录。${KONG_BASE_DIR}/conf
KONG_DEFAULT_CONF_DIRKong 配置目录。${KONG_BASE_DIR}/conf.default
KONG_CONF_FILEKong 配置文件。${KONG_CONF_DIR}/kong.conf
KONG_DEFAULT_CONF_FILEKong 默认配置文件。${KONG_CONF_DIR}/kong.conf.default
KONG_INITSCRIPTS_DIRKong 初始化脚本目录。/docker-entrypoint-initdb.d
KONG_SERVER_DIR创建 Kong Openresty 实例的目录。${KONG_BASE_DIR}/server
KONG_PREFIXKong 安装目录。${KONG_SERVER_DIR}
KONG_DEFAULT_SERVER_DIR包含默认 Kong Openresty 实例文件的目录。${KONG_BASE_DIR}/server.default
KONG_LOGS_DIRKong日志存储的目录。${KONG_SERVER_DIR}/logs
KONG_PID_FILEKong 的 PID 文件的路径。${KONG_SERVER_DIR}/pids/nginx.pid
KONG_DAEMON_USERKong system user.kong
KONG_DAEMON_GROUPKong system group.kong

此外,该容器还支持通过以KONG_. 例如,通过设置KONG_LOG_LEVEL环境变量,Kong 将考虑该值而不是 中设置的属性kong.conf。建议设置以下环境变量:

  • KONG_DATABASE: 使用的数据库类型。有效值:postgres或off。默认值:postgres
  • PostgreSQL database: KONG_PG_HOST, KONG_PG_PORT, KONG_PG_TIMEOUT, KONG_PG_USER, KONG_PG_PASSWORD。

配置说明

该image在/opt/bitnami/kong/conf/kong.conf中查找 Kong 配置文件,您可以使用自己的自定义配置文件覆盖该文件。

docker run --name kong \-e KONG_DATABASE=off \-v /path/to/kong.conf:/opt/bitnami/kong/conf/kong.conf \bitnami/kong:latest

或使用 Docker Compose:

version: '2'services:kong:image: 'bitnami/kong:latest'ports:- '8000:8000'- '8443:8443'environment:# Assume we don't want data persistence for simplicity purposes- KONG_DATABASE=offvolumes:- /path/to/kong.conf:/opt/bitnami/kong/conf/kong.conf

日志

Kong Docker 映像将容器日志发送到stdout. 要查看日志:

docker logs kong

这篇关于【Docker】Kong 容器化部署及配置参数说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819413

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二