//网络配置
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
//安装配置kong
//初始化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:latest 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:latest
//安装配置konga
//创建konga数据库
# 进入postgres的docker容器
docker exec -it kong-database /bin/bash
# 进入postgres数据库命令行操作,输入密码konga
psql -U kong -W
# 创建用户
create user konga with password 'konga';
# 创建数据库
create database konga owner konga;
# 授权
grant all privileges on database konga to konga;
//查看数据库的gateway地址:
docker inspect kong-database
//初始化konga数据库(红色部分为上一步中创建的konga数据库的用户,密码和数据库实例,蓝色部分为postgres的gateway地址)
docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://konga:konga@172.18.0.1:5432/konga
//启动konga容器(蓝色部分为postgres的IP地址)
docker run -d --name konga --network=kong-net -e "DB_ADAPTER=postgres" -e "DB_HOST=172.18.0.1" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=konga" -e "DB_DATABASE=konga" -e "DB_PG_SCHEMA=public" -e "NODE_ENV=production" -p 1337:1337 pantsel/konga
验证:
curl -i http://localhost:8000/
curl -i http://localhost:1337/