创建Docker的Network
# 创建
$ docker network create kong-net
# 检查
$ docker network list
安装数据库
$ docker run -itd --network=kong-net \
--name kong-database \
-e POSTGRES_DB=kong \
-e POSTGRES_USER=pkslow \
-e POSTGRES_PASSWORD=pkslow-kong \
-p 5432:5432 \
postgres:13
migrations
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=pkslow" \
-e "KONG_PG_PASSWORD=pkslow-kong" \
kong:2.5.0-ubuntu kong migrations bootstrap
启动
docker run -itd --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=pkslow" \
-e "KONG_PG_PASSWORD=pkslow-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.5.0-ubuntu
验证admin端口8001
curl -i http://localhost:8001/
测试Route功能
创建服务
先创建一个服务,可以理解为注册一个服务,服务名为pkslow,地址为( www.pkslow.com )
$ curl -X POST --url http://localhost:8001/services/ --data 'name=pkslow' --data 'url=https://www.pkslow.com'
创建路由规则
路径为/pkslow,对应的服务为pkslow
$ curl -X POST --url http://localhost:8001/services/pkslow/routes --data 'paths[]=/pkslow'
访问路径/pkslow
$ curl -i -X GET --url http://localhost:8000/pkslow
可视化界面
docker run -d --name konga --network=kong-net -e "DB_HOST=kong-database" -e "DB_PORT=5432" -e "DB_USER=pkslow" -e "DB_PASSWORD=pkslow-kong" -e "DB_DATABASE=postgres" -e "DB_PG_SCHEMA=public" -e "NODE_ENV=production" -p 1337:1337 pantsel/konga:0.14.9
访问
注册
创建Connection
参考文档
Docker安装Kong API Gateway并使用