本次搭建参考官方文档,整个搭建过程比较简单,只是控制好kong的版本即可:
创建一个专属网络:
root@test:~# docker network create kong-net
创建一个postgres数据库容器:
docker run -d --name kong-database
--network=kong-net -p 5432:5432
-e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong"
-e "POSTGRES_PASSWORD=kong"
postgres:9.6
创建一个临时的0.15版本的kong容器用于迁移:
docker run --rm
--network=kong-net
-e "KONG_DATABASE=postgres"
-e "KONG_PG_HOST=kong-database"
-e "KONG_PG_USER=kong"
-e "KONG_PG_PASSWORD=kong"
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database"
kong:0.15 kong migrations bootstrap
运行迁移并准备好数据库后,启动一个Kong容器,该容器将连接到数据库容器,就像临时迁移容器一样:
docker run -d --name kong
--network=kong-net
-e "KONG_DATABASE=postgres"
-e "KONG_PG_HOST=kong-database"
-e "KONG_PG_USER=kong"
-e "KONG_PG_PASSWORD=kong"
-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 127.0.0.1:8001:8001
-p 127.0.0.1:8444:8444
kong:0.15
创建一个kong-dashboard容器,提供UI访问界面:
root@test:~# docker run --rm -p 8080:8080 --network=kong-net pgbi/kong-dashboard start --kong-url http://kong:8001