【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

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解