- 安装docker(自行安装,反正我用的mac,直接dmg安装)
- 创建docker网络
docker network create kong-net
- 安装数据库,kong支持postgres(postgres9.5以上),创建启动数据库,此处以postgres9.6作为数据库来存储数据
ps:数据库创建用户名字必须是kong,数据库db也必须是kong,我这杂七杂八横冲直撞试验踩坑查到这样
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.6
- 数据库准备,初始化Kong数据(此处因为konga只支持kong1.3以上版本,不然编辑router的时候会报错)(另外kong 版本低于0.15 需要使用kong migrations up ,大于等于0.15使用kong migrations bootstrap)
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
kong:1.3.0 kong migrations bootstrap
- 启动kong
docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-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 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:1.3.0
- 查看kong是否正在运行
curl -i http://localhost:8001
运行结果参考:
HTTP/1.1 200 OK
Date: Wed, 18 Dec 2019 06:08:55 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.14.1
Content-Length: 5659
{"plugins":{"enabled_in_cluster":[],"available_on_server":{"response-transformer":true,"oauth2":true,"acl":true,"correlation-id":true,"pre-function":true,"jwt":true,"cors":true,"ip-restriction":true,"basic-auth":true,"key-auth":true,"rate-limiting":true后便省略
- 至此kong和数据库安装完毕,然后对于konga和KongDashboard都有使用的,此处因为我要用konga
- 安装konga
docker pull pantsel/konga:latest
docker run -p 1337:1337 \
--network kong-net \
--name konga \
-e "NODE_ENV=production" \
-e "DB_ADAPTER=postgres" \
-e "DB_URI=postgresql://kong:@172.18.0.1:5432/konga" \
pantsel/konga
- 最后一段代码有一段不压缩版和上边一段一样不用重复
docker run -p 1337:1337 --network kong-net --name konga -e "NODE_ENV=production" -e "DB_ADAPTER=postgres" -e "DB_URI=postgresql://kong:@172.18.0.1:5432/konga" pantsel/konga
- 最后一段写完,不用等了,我会说等了半小时的么0.0
- 浏览器直接敲 http://localhost:1337/ 登陆konga
- docker关闭之后,重新启动,那怎么开启kong
- 查看当前所有容器,会看到三个容器konga、kong、postgres,但是都处于关闭状态
docker ps -a
- 按顺序启动容器 postgres -> kong -> konga
kong start 容器ID
网友评论