这是一个简单的示例,显示了如何将Kong容器连接到Cassandra或PostgreSQL容器。
您将需要创建一个自定义网络,以使容器能够发现彼此并进行通信。在此示例中kong-net
为网络名称,您可以使用任何名称。
$ docker network create kong-net
如果您想使用Cassandra容器:
$ docker run -d --name kong-database --network=kong-net -p 9042:9042 cassandra:3
如果您想使用PostgreSQL容器:
$ 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容器运行迁移:
$ docker run --rm --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_PG_PASSWORD=kong" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" kong:latest kong migrations bootstrap
在上面的示例中,同时配置了Cassandra和PostgreSQL,但是您应该KONG_DATABASE
使用cassandra
或更新环境变量 postgres
。
Kong <0.15的注意事项:Kong版本低于0.15(最大0.14)时,请使用up
子命令代替bootstrap
。还要注意,Kong <0.15时,永远不要同时运行迁移。一次只能有一个Kong节点执行迁移。对于0.15、1.0及更高版本,此限制被取消。
运行迁移并准备好数据库后,启动将连接到数据库容器的Kong容器,就像临时迁移容器一样:
由于后面会整合konga,按照之前的方式,会连不上,可以用下来的命令
docker run -d --name kong --network=kong-net -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 80:8000 -p 443:8443 -p 8001:8001 -p 8444:8444 kong:latest
$ curl -i http://localhost:8001/
上面为nginx中的配置,但是在kong中也可以做到灵活配置
docker run -d -p 8081:8080 --network=kong-net pgbi/kong-dashboard start --kong-url http://172.18.0.3:8001 --basic-auth kong=123456
但是由于我拉的镜像为最新的不支持,这里就是简单的记录一下。
注意这样安装很多博客和视频都不能安装成功,会报错。一定要加:kong:kong
docker run --rm --network=kong-net pantsel/konga -c prepare -a postgres -u postgresql://kong:kong@kong-database:5432/konga
有的博客用的是DB_URI也会报错,应该执行下面的命令
docker run -p 1337:1337 --network=kong-net -e "DB_ADAPTER=postgres" -e "DB_HOST=kong-database" -e "DB_USER=kong" -e "DB_PASSWORD=kong" -e "DB_DATABASE=konga" -e "KONGA_HOOK_TIMEOUT=120000" -e "NODE_ENV=production" --name konga pantsel/konga
docker run -p 8090:80 --name=pgadmin --network=kong-net --link kong-database:kong-database -e ‘PGADMIN_DEFAULT_EMAIL=dalianpai@163.com‘ -e ‘PGADMIN_DEFAULT_PASSWORD=1qaz@WSX‘ --restart always -d dpage/pgadmin4
原文:https://www.cnblogs.com/dalianpai/p/13675102.html