ps:docker 安装kong时,postgres的版本最好使用9.6,版本过高过低可能会出现问题
-
网络配置
1 docker network create kong-net
-
安装启动postgres容器
1 docker run -d --name kong-database 2 --network=kong-net 3 -p 5432:5432 4 -e "POSTGRES_USER=kong" 5 -e "POSTGRES_DB=kong" 6 -e "POSTGRES_PASSWORD=kong" 7 postgres:9.6
-
安装配置kong
-
初始化kong数据库
1 docker run --rm 2 --network=kong-net 3 -e "KONG_DATABASE=postgres" 4 -e "KONG_PG_HOST=kong-database" 5 -e "KONG_PG_USER=kong" 6 -e "KONG_PG_PASSWORD=kong" 7 -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" 8 kong:latest kong migrations bootstrap
-
安装启动kong容器
1 docker run -d --name kong 2 --network=kong-net 3 -e "KONG_DATABASE=postgres" 4 -e "KONG_PG_HOST=kong-database" 5 -e "KONG_PG_USER=kong" 6 -e "KONG_PG_PASSWORD=kong" 7 -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" 8 -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" 9 -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" 10 -e "KONG_PROXY_ERROR_LOG=/dev/stderr" 11 -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" 12 -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" 13 -p 8000:8000 14 -p 8443:8443 15 -p 8001:8001 16 -p 8444:8444 17 kong:latest
-
-
安装配置konga
- 创建konga数据库
1 # 进入postgres的docker容器 2 docker exec -it kong-database /bin/bash 3 # 进入postgres数据库命令行操作,输入密码konga 4 psql -U kong -W 5 # 创建用户 6 create user konga with password 'konga'; 7 # 创建数据库 8 create database konga owner konga; 9 # 授权 10 grant all privileges on database konga to konga;
- 初始化konga数据库(红色部分为上一步中创建的konga数据库的用户,密码和数据库实例,蓝色部分为postgres的IP地址)
1 docker run --rm pantsel/konga:latest 2 -c prepare 3 -a postgres 4 -u postgresql://konga:konga@192.168.90.28:5432/konga
- 启动konga容器(蓝色部分为postgres的IP地址)
1 docker run -d --name konga 2 --network=kong-net 3 -e "DB_ADAPTER=postgres" 4 -e "DB_HOST=192.168.90.28" 5 -e "DB_PORT=5432" 6 -e "DB_USER=konga" 7 -e "DB_PASSWORD=konga" 8 -e "DB_DATABASE=konga" 9 -e "DB_PG_SCHEMA=public" 10 -e "NODE_ENV=production" 11 -p 1337:1337 12 pantsel/konga
- 创建konga数据库
-
konga可视界面配置服务和路由
- 页面登录(ip换成docker所在的服务器ip,或者容器对外暴露的ip),连接kong,选择CONNECTIONS,点击NEW CONNECTION,输入kong的url,确认后,点击ACTIVATE即可连接,http://192.168.90.28:1337/
-
首先选中左侧SERVICES后点击图中绿色按钮ADD NEW SERVICE,配置如下几个参数,配置后点击提交
-
-
点击刚刚创建的服务的名称,可以修改刚刚设置的配置,选择下图红框的Routes,配置服务的路由,点击提交,至此简单配置完成,按照
(规则为 http://网关ip:8000/路由配置Paths的值/controller的拦截路径) 可访问启动的服务