docker、docker-compose 下安装kong网关、konga管理页面
docker、docker-compose 下安装kong网关、konga管理页面文章目录docker、docker-compose 下安装kong网关、konga管理页面1、kong网关的安装--官网步骤1.1、下载镜像,然后镜像本地打个tag1.2、创建一个docker网络1.3、创建一个pgsql的实例1.4、初始化kong组件需要的数据库1.5、创建一个kong的实例2、kong安装的实际
docker、docker-compose 下安装kong网关、konga管理页面
文章目录
1、kong网关的安装–官网步骤
详细可以参考
1.1、下载镜像,然后镜像本地打个tag
docker pull kong/kong-gateway:2.5.0.0-alpine
docker tag kong/kong-gateway:2.5.0.0-alpine kong-ee
1.2、创建一个docker网络
docker network create kong-ee-net
1.3、创建一个pgsql的实例
docker run -d --name kong-ee-database \
--network=kong-ee-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kong" \
postgres:9.6
1.4、初始化kong组件需要的数据库
docker run --rm --network=kong-ee-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-ee-database" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_PASSWORD={PASSWORD}" \
kong-ee kong migrations bootstrap
1.5、创建一个kong的实例
docker run -d --name kong-ee --network=kong-ee-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-ee-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" \
-e "KONG_ADMIN_GUI_URL=http://{HOSTNAME}:8002" \
-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-ee
2、kong安装的实际步骤–优化
版本上,我选择2.6.0,最新版本;
pgsql数据库,用的也是比较多的,我们选择另外部署,所以也就忽略掉上面的,创建docker network
2.1、部署pgsql
version: '3.1'
services:
postgres:
image: postgres:9.5
container_name: postgres_db
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
volumes:
- './data:/var/lib/postgresql/data'
ports:
- 5432:5432
选择9.x版本,10版本之后,密码加密方式改了,我本地虚拟机的ip是 192.168.68.129
2.2、拉取镜像,2.6.0版本
docker pull kong:2.6.0
2.3、初始化kong的数据库
docker run --rm \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=192.168.68.129" \
-e "KONG_PG_PORT=5432" \
-e "KONG_PG_USER=postgres" \
-e "KONG_PG_PASSWORD=postgres" \
-e "KONG_PG_DATABASE=kong" \
kong:2.6.0 kong migrations bootstrap
注意,KONG_PG_DATABASE的kong,需要先建一个数据库,数据库的ip、端口、用户名/密码、写自己的
2.4、创建kong的容器
docker run -d --name kong \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=192.168.68.129" \
-e "KONG_PG_PORT=5432" \
-e "KONG_PG_USER=postgres" \
-e "KONG_PG_PASSWORD=postgres" \
-e "KONG_PG_DATABASE=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, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:2.6.0
注意,数据库的ip、端口、用户名/密码、写自己的;
关于/usr/local/share/lua/5.1/kong/templates这个目录挂在的问题,可以不挂载,里面有一些nginx的配置,如果需要的话,可以先启动一个,然后把容器里的文件拷贝出来
docker cp kong:/usr/local/share/lua/5.1/kong/templates /opt/kong/templates
2.5、测试–有返回json,就是正常的
curl http://192.168.68.129:8001/
3、kong的管理页面 konga的安装
3.1、下载镜像
docker pull pantsel/konga:0.14.9
3.2、初始化konga的数据库
docker run -it --rm \
--name kong_dashboard_a \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=192.168.68.129" \
-e "DB_PORT=5432" \
-e "DB_USER=postgres" \
-e "DB_PASSWORD=postgres" \
-e "DB_DATABASE=konga" \
-e "NODE_ENV=development" \
pantsel/konga:0.14.9
注意,DB_DATABASE的konga,需要先建一个数据库,数据库的ip、端口、用户名/密码、写自己的;
3.3、创建konga的实例
docker run -d \
--name kong_dashboard_konga \
-p 1337:1337 \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=192.168.68.129" \
-e "DB_PORT=5432" \
-e "DB_USER=postgres" \
-e "DB_PASSWORD=postgres" \
-e "DB_DATABASE=konga" \
-e "NODE_ENV=production" \
pantsel/konga:0.14.9
注意,数据库的ip、端口、用户名/密码、写自己的;
3.4、启动-测试
http://192.168.68.129:1337/
打开页面,需要注册一个管理员帐号,登录之后,把kong的连接放进去http://192.168.68.129:8001

4、docker-compose脚本kong–konga
version: '3'
services:
kong:
image: kong:2.6.0
container_name: kong_01
environment:
- KONG_PROXY_ACCESS_LOG=/dev/stdout
- KONG_ADMIN_ACCESS_LOG=/dev/stdout
- KONG_PROXY_ERROR_LOG=/dev/stdout
- KONG_ADMIN_ERROR_LOG=/dev/stdout
- KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl
- KONG_DATABASE=postgres
- KONG_PG_HOST=192.168.68.129
- KONG_PG_PORT=5432
- KONG_PG_USER=postgres
- KONG_PG_PASSWORD=postgres
- KONG_PG_DATABASE=kong
ports:
- 8000:8000
- 8443:8443
- 8001:8001
- 8444:8444
konga:
image: pantsel/konga:0.14.9
container_name: konga_01
environment:
- DB_ADAPTER=postgres
- DB_HOST=192.168.68.129
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=postgres
- DB_DATABASE=konga
- NODE_ENV=production
ports:
- 1337:1337
最终,数据库kong和konga的数据库初始化后,把docker run指令,转换成docker-compose 脚本就可以了
启动、卸载
docker-compose up -d
docker-compose down
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)