千家信息网

怎么安装Docker并搭建Kong

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。概念术语upstream: 是对上游服务器的抽象;target: 代表了一个物理服务,是 ip + port 的抽象;s
千家信息网最后更新 2026年11月03日怎么安装Docker并搭建Kong

Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。
概念术语
upstream: 是对上游服务器的抽象;
target: 代表了一个物理服务,是 ip + port 的抽象;
service: 是抽象层面的服务,他可以直接映射到一个物理服务(host 指向 ip + port),也可以指向一个 upstream 来做到负载均衡;
route: 是路由的抽象,他负责将实际的 request 映射到 service。
默认情况下,KONG监听的端口为:
8000: 此端口是KONG用来监听来自客户端传入的HTTP请求,并将此请求转发到上有服务器;
8443: 此端口是KONG用来监听来自客户端传入的HTTP请求的。它跟8000端口的功能类似,但是它只是用来监听HTTP请求的,没有转发功能。可以通过修改配置文件来禁止它;
8001: Admin API,通过此端口,管理者可以对KONG的监听服务进行配置;
8444: 通过此端口,管理者可以对HTTP请求进行监控.

环境部署
1.安装docker

export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.comyum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum repolistyum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engineyum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.iosystemctl start docker && systemctl status docker && systemctl daemon-reload

2.禁用防火墙

systemctl disable firewalld && systemctl stop firewalld && systemctl status firewalldsetenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

3.禁用交换分区,设置路由转发

swapoff -a && yes | cp /etc/fstab /etc/fstab_bakcat /etc/fstab_bak | grep -v swap > /etc/fstabcat /etc/fstabsudo vi /etc/sysctl.confnet.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1

安装
1.创建docker网络

docker network create kong-net

2.运行prostgres 9.6数据库镜像

docker run -d --name kong-database \--network=kong-net \-p 5432:5432 \-e "POSTGRES_USER=kong" \-e "POSTGRES_DB=kong" \postgres:9.6

3.数据库准备,初始化Kong数据

docker run --rm \--network=kong-net \-e "KONG_DATABASE=postgres" \-e "KONG_PG_HOST=kong-database" \kong:0.14.1 kong migrations up

4.启动kong

docker run -d --name kong \--network=kong-net \-e "KONG_DATABASE=postgres" \-e "KONG_PG_HOST=kong-database" \-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \-p 8000:8000 \-p 8443:8443 \-p 8001:8001 \-p 8444:8444 \kong:0.14.1

5.创建并运行Kong dashboard容器

docker run -d \--network=kong-net \--link kong:kong -p 8008:8080 pgbi/kong-dashboard start \--kong-url http://kong:8001 \--basic-auth kong=kong

然后访问 http://你的IP:8008,
登录账号为kong,密码为kong

1.为 http://mockbin.org 添加一个名为 example-service 的服务

使用Admin API添加服务,发出以下cURL请求以将您的第一个服务(指向Mockbin API)添加到Kong:

curl -i -X POST \--url http://localhost:8001/services/ \--data 'name=example-service'  --data 'url=http://mockbin.org'

2.为上面创建的服务添加一个路由

curl -i -X POST \--url http://localhost:8001/services/example-service/routes \--data 'hosts[]=example.com'

勾选"strip_path"选项,并点击"updata"

3. 运行下面的命令,会返回 http://mockbin.org 的信息

curl -i -X GET --url http://localhost:8000/ --header 'Host: example.com'

添加认证

1.配置密钥身份验证插件

curl -i -X POST \  --url http://localhost:8001/services/example-service/plugins/ \  --data 'name=key-auth'

注意:此插件还接受一个config.key_names参数,默认为['apikey']。它是应该在请求期间包含apikey的标头和参数名称(均受支持)的列表

2.确认插件配置正确

curl -i -X GET --url http://localhost:8000/ --header 'Host: example.com'

由于您未指定所需的apikey标题或参数,因此响应应为401 Unauthorized

增加消费者

curl -i -X POST \  --url http://localhost:8001/consumers/ \  --data "username=Jason"

为上面的用户添加一个 key。下面命令中的 "ENTER_KEY_HERE" 需要替换成想要设置的密钥。

curl -i -X POST \  --url http://localhost:8001/consumers/Jason/key-auth/ \  --data 'key=ENTER_KEY_HERE'

在第3步的请求中添加 key 的信息后,可以正常访问了。命令如下:

curl -i -X GET \  --url http://localhost:8000 \  --header "Host: example.com" \  --header "apikey: ENTER_KEY_HERE"

服务 端口 监听 插件 配置 功能 参数 命令 客户 客户端 指向 数据 路由 运行 信息 密钥 数据库 服务器 物理 管理者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 上海挚品互联网科技有限公司 小米移动互联网科技园 A股互联网金融科技公司 互联网巨头反垄断金融科技 互联网 科技公司 互联网金融公司科技 未来的互联网科技 广州互联网络科技有限公司 互联网科技视频素材 美国互联网前沿科技 赶超互联网科技 微信多开 互联网科技商业 深圳育鹏互联网科技有限公司招聘 亳州好赞互联网科技有限公司 乌鲁木齐新华智原互联网科技学校 西安小鹰速贷互联网科技有限公司 互联网时代的科技公司 广东工业互联网大赛深圳学泰科技 西安有哪些互联网高科技企业 西安纸贵互联网科技有限公司 互联网科技卖菜 广州互联网络科技有限公司 上海致骋互联网科技 猫创互联网科技 中国互联网金融科技基金 湖南诚度互联网科技有限公司 科技互联网的核心竞争力 国产互联网科技公司 东风日产互联网科技公司叫什么
0