- 构建 Kong1. 构建 Kong 的容器网络的容器网络
首先我们创建一个 Docker 自定义网络,以允许容器相互发现和通信。在下面的创建命令中 kong-net 是我们创建的 Docker 网络名称。
docker network create kong-network
- 搭建数据库环境
docker pull postgres:9.6
docker run -d --name kong-database --network=kong-network -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=kong" postgres:9.6
- 初始化或者迁移数据库
docker run --rm --network=kong-network -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_PG_PASSWORD=kong" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" kong:1.5.1 kong migrations bootstrap
- 启动 Kong 容器
docker pull kong:1.5.1
docker run -d --name kong --network=kong-network -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -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 8001:8001 -p 8444:8444 kong:1.5.1
curl -i -X GET --url http://localhost:8001/services
1、Kong Dashboard
docker pull pgbi/kong-dashboard
docker run --rm \
--network=kong-network \
-p 8080:8080 \
pgbi/kong-dashboard start \
--kong-url http://kong:8001
浏览器中输入 http://10.95.35.92:8080/ 来访问 Kong Dashboard 管理界面
2、Konga
sudo docker pull pantsel/konga
docker run --rm --network=kong-network pantsel/konga -c prepare -a postgres -u postgresql://kong:kong@kong-database:5432/konga
docker run -d --name konga \
--network=kong-network \
-p 1337:1337 \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=kong-dashboard" \
-e "DB_PORT=5432" \
-e "DB_USER=kong" \
-e "DB_PASSWORD=kong" \
-e "DB_DATABASE=konga" \
-e "KONGA_HOOK_TIMEOUT=120000" \
-e "NODE_ENV=production" \
pantsel/konga