Kong官方的存储数据容器为cassandra & postgresql.在使用cassandra时一直没有成功,后续实践有结果后在完善此文,下面给出基于postgresql的搭建方法。
Docker 命令解释
以下是使用Kong使用到的命令
docker run 运行docker镜像
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-it: -i -t的组合
--name="kong-database"/--name kong-database: 为容器指定一个名称;
-e: "POSTGRES_USER=kong": 设置环境变量;
--link=[]: 添加链接到另一个容器;
Pull postgresql镜像
docker run -d --name kong-database \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.4
将Kong数据迁移配置到postgresql
docker run -it --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations up
启动Kong容器
docker run -d --name kong \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-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" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest