docker 安装kong konga postgresql
主要参照kong官网搭建,官网只涉及到了kong和PostgreSql的搭建,没有kong ui管理界面Konga的搭建,并且postgresql也没有挂载容器卷,造成每次启动postgresql可能会丢数据。故写了此文章,希望对您有帮助。
1.网络
docker network create kong-net
2.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" \
-v /data/software/postgresqldata:/var/lib/postgresql/data \ #挂在容器卷
postgres:9.6
3.kong
1)初始化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
2)启动kong docker容器
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 8001:8001 \
-p 8444:8444 \
kong:latest
4.konga
1)创建konga数据库
docker exec -it kong-database /bin/bash
create user konga with password '123321'; #创建用户
create database konga owner konga; #创建数据库
grant all privileges on database konga to konga; #授权
2) 初始化konga数据库
docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://konga:123321@192.168.209.132:5432/konga
3)启动konga docker容器
docker run -d --name konga \
--network=kong-net \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=192.168.209.132" \ #更换你自己的ip
-e "DB_PORT=5432" \
-e "DB_USER=konga" \
-e "DB_PASSWORD=123321" \
-e "DB_DATABASE=konga" \
-e "DB_PG_SCHEMA=public"\
-e "NODE_ENV=production" \
-p 1337:1337 \
pantsel/konga