全程操作按官方文档来就可以了。
1.将 Kong 连接到 Cassandra 或 PostgreSQL 容器
Kong支持 2 种数据库:Cassandra 或 PostgreSQL ,至于使用哪个完全 UP 2 U 。
执行以下命令启动Cassandra容器:
$ docker run -d --name kong-database \
-p 9042:9042 \
cassandra:3
通过执行以下命令来启动PostgreSQL容器:
docker run -d --name kong-database \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.5
我选择的是PostgreSQL,执行上述命令,如果当前环境没有对应镜像会自动从 Docker 仓库下载,直到这个命令执行完就可以查到这个镜像了,并且 kong-database 容器也有了。
( Kong 要求 postgres 9.4 或更高版本 ,并且要对数据库作大版本号升级的话对新手来说挺复杂,所以个人建议新安装尽量不要装版本号过低的数据库。)
查看 postgres 数据库的镜像和容器:
2.准备数据库
用一个 Kong 容器运行数据库迁移:
docker run --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong kong migrations up
运行如下:
这时 Kong 的数镜像已有了:
3.对 Kong 进行自定义配置
您可以用环境变量覆盖 Kong配置文件的 任何属性。只需将KONG_前缀添加到任何Kong配置属性中,例如:
$ docker run -d --name kong \
-e "KONG_DATABASE=postgres"
-e "KONG_PG_HOST=kong-database" \
-e "KONG_LOG_LEVEL=info" \
-e "KONG_CUSTOM_PLUGINS=helloworld" \
-e "KONG_PG_HOST=1.1.1.1" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
-e "KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong
至此 Kong 已安装成功 :
我的 kong 装好启动后不久总是会自动退出,后来才想到: KONG 是基于 nginx ,所以在装 kong 之前要装好 nginx 。
[html]
- docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
运行后如下:
4. 安装 KONG 的图形化管理界面 kong-dashboard
Start Kong Dashboard 命令如下: docker run --rm -p 8080:8080 pgbi/kong-dashboard start --kong-url http://kong:8001
我在执行时给容器起了个比较好辨识的名字 : kong-dashboard
另外我的 kong 是安装在 IP 为 xx.xx.xx.8 的物理机上,所以把 IP 地址也对应的设置了。
执行命令最终为:
[html]
- docker run --rm -p 8080:8080 --name kong-dashboard pgbi/kong-dashboard start --kong-url http://xx.xx.xx.8:8001
依旧会自动下载所需镜像,运行完成。
登录 | 立即注册