《一》安装
1.使用docker创建网络和数据卷
docker network create kong-net
docker volume create kong_data
2.创建 pg 数据库docker容器
将postgresql网络指定为新建的网络,(docker原来使用–link,新版本不建议使用,使用–network将两个容器指定到同一个网络来解决问题)
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_PASSWORD=kong@8888" \
-e "POSTGRES_DB=kong" \
-v kong_data:/var/lib/postgresql/data
postgres:9.6
3.kong 数据迁移到 pg
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong@8888" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
4.创建 kong 容器并启动
此处修改了默认端口(8000->28000)
docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong@8888" \
-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 28000:8000 \
-p 28443:8443 \
-p 28001:8001 \
-p 28444:8444 \
kong:latest
5.kong GUI 之konga安装
此处修改了默认端口(1337 ->21337 )
docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://kong:kong@8888@192.168.1.27:5432/kong
docker run -p 21337:1337 \
--name konga \
-e "TOKEN_SECRET=liyafeng1988" \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=192.168.1.27" \
-e "DB_PORT=5432" \
-e "DB_USER=kong" \
-e "DB_PASSWORD=kong@8888" \
-e "DB_DATABASE=kong" \
-e "NODE_ENV=production" \
pantsel/konga
doker 运行截图:
kong admin 访问截图:
http://192.168.8.71:28001/
konga 访问截图:
http://192.168.8.71:21337/
进入后先注册admin账号后并登录(此处样例是liyafeng)
《二》kong使用
在konga页面先配置service再配置route
service配置
route配置
**route path可以自己配置自己的路径
**host可以填可以不填,即访问的域名,如果 不填则用kong的ip加端口+route path访问*此处kong默认端口28000(原始是8000)
访问测试
(*注意本例中端口没有采用原始端口而是在原始端口前加了2)
下一节: