欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker Kong API网关

程序员文章站 2022-06-03 20:35:54
...

Docker Kong API网关

#创建kong网络

docker network create kong-net

#安装并启动数据库
#其中 --restart always 解释:当 docker 重启时,容器自动启动

docker run -d --name kong-database \
 --network=kong-net \
 -p 5432:5432 \
 -e "POSTGRES_USER=kong" \
 -e "POSTGRES_DB=kong" \
 -e "POSTGRES_PASSWORD=kong" \
 --restart always \
 postgres:9.6

#使用临时Kong容器运行进行数据库初始化
#其中:KONG_CASSANDRA_CONTACT_POINTS,后面写容器名称,但也有人认为应该写数据库名
#其中:docker run --rm kong:latest,等于运行后清除容器包括volume;

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 8001:8001 \
 -p 8444:8444 \
 --restart always \
 kong:latest

#测试(也可以在浏览器里打开)

curl -i localhost:8001

#初始化Konga 数据库

docker run --rm  --network=kong-net pantsel/konga:latest -c prepare -a postgres -u postgresql://kong:[email protected]:5432/konga_db

#运行konga

docker run -p 1337:1337 \
 --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 "DB_DATABASE=konga_db" \
 -e "KONGA_HOOK_TIMEOUT=120000" \
 --name konga \
 pantsel/konga

浏览器*问

http://主机IP:1337

本文参考链接

相关标签: Docker docker