搭建环境: docker 20.10.6 centos7
网上虽然有很多的好文章,但要不就是过时,要不就是不符合,不过很有借鉴意义。 以下1-4步骤是参照官网稍作修改后执行的 konga参照以下地址, 最后启动
konga时报以下异常,稍作修改后成功docker: invalid reference format.
1、拉取kong、konga、postgres
传送门
kong目前使用Cassandra、Postgres来存储数据
$ docker pull kong$ docker pull pantsel/konga$ docker pull postgres:9.6
2、启动数据库
1、创建一个自定义网络,允许多个容器之间相互发现和通讯。
$ docker network create kong-net
2、启动数据库
$ docker run -d --name kong-database \--restart=always \--network=kong-net \-p 5432:5432 \-e "POSTGRES_USER=kong" \-e "POSTGRES_DB=kong" \-e "POSTGRES_PASSWORD=kong" \postgres:9.6
3、准备kong的数据库
$ docker run --rm --network=kong-net \-e "KONG_DATABASE=postgres" \-e "KONG_PG_HOST=kong-database" \-e "KONG_PG_PASSWORD=kong" \-e "KONG_PASSWORD=kong" \kong:latest kong migrations bootstrap
4、kong启动网关
$ docker run -d --name kong-oss --network=kong-net \--restart=always \-e "KONG_DATABASE=postgres" \-e "KONG_PG_HOST=kong-database" \-e "KONG_PG_PASSWORD=kong" \-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" \-p 8000:8000 \-p 8443:8443 \-p 8001:8001 \-p 8444:8444 \-p 8002:8002 \-p 8445:8445 \-p 8003:8003 \-p 8004:8004 \kong:latest
5、安装kong管理UI(konga)
kong官网提供了管理UI,但是开源版本并没有看到,有许多的开源UI,我这里选择的konga
1、初始化konga数据库
172.19.3.40记得替换为自己的
ip地址 不知道ip地址的输入ip addr查看,找到eth0
$ docker run --network=kong-net \--rm pantsel/konga -c prepare -a postgres \-u postgresql://kong:kong@172.19.3.40:5432/konga
2、启动konga
$ docker run -d -p 1337:1337 \--network=kong-net \--name konga \-e "DB_ADAPTER=postgres" \-e "DB_URI=postgresql://kong:kong@172.19.3.40:5432/konga" \-e "NODE_ENV=production" \pantsel/konga
6、查看安装的kongaUI界面
浏览器打开http://172.19.3.40:1337/
注册、登录
登录进来后界面
1、添加连接


点击上方红色框中图标,激活服务
激活后会显示出api gateway
2、添加服务Services
3、添加路由Route
由于我这里是直接通过IP地址进行访问接口地址,所以Hosts、Paths就不填了
4、POSTMAN进行接口测试

