原 docker(22):使用docker 搭建网关,Mashape API 网关 Kong,安装dashboard,和pgadmin4

【其他docker相关分类】:
https://blog.csdn.net/freewebsys/article/category/3103827

本文的原文连接是:
http://blog.csdn.net/freewebsys/article/details/71261179

1,关于Kong


https://www.oschina.net/p/PostgreSQL
https://github.com/Kong/kong

Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件:

Kong Server :基于 nginx 的服务器,用来接收 API 请求。

Apache Cassandra 或者 postgres 存储:用来存储操作数据。

你可以通过增加更多 Kong Server 机器对 Kong 服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。

对于开源社区来说,Kong 中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且 Kong 还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控。

Kong包可运行在某些 Linux 发行版、Mac OS X 和 Docker 中,无论是本地机还是云端服务器皆可运行。

docker 地址:

依赖PostgreSQL:
/postgres”>https://hub.docker.com//postgres
启动Kong:
/kong”>https://hub.docker.com//kong
dashboard:
https://hub.docker.com/r/pgbi/kong-dashboard
一个第三方的gui界面,很好用。
postgree gui的web界面
https://hub.docker.com/r/dpage/pgadmin4

kong的文档:
https://getkong.org/docs/

2,使用docker 启动


研究了下,看了官方的文档,有几个参数没有写对。
修改了下可以启动了。

# 启动数据库设置用户名密码:
docker run -d --name kong-database \
                -p 5432:5432 \
                -e "POSTGRES_USER=kong" \
                -e "POSTGRES_DB=kong" \
                postgres:9-alpine

#使用kong 命令初始化数据库
docker run --rm \
    --link kong-database:kong-database \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong" \
    -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
    kong kong migrations up

#启动 kong,链接database上,设置kong-database ,不能启动插件。
docker run -d --name kong \
    --link kong-database:kong-database \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    -e "KONG_LOG_LEVEL=info" \
    -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

#使用一个免费的dashboard系统镜像启动 配置账号 admin 密码 kong
docker run --rm --link kong:kong -p 8080:8080 pgbi/kong-dashboard start \
  --kong-url http://kong:8001 \
  --basic-auth admin=kong

3,启动界面


http://localhost:8080
账号 admin 密码 kong

一共有apis consumers plugins snis certificates upstreams几个模块
都很方便。

kong api 服务器是 8001 一些配置

一共启动镜像:
这里写图片描述

都启动起来了就没有问题了。

4,启动postgre admin 4


https://hub.docker.com/r/dpage/pgadmin4
镜像地址:
使用link启动docker:

docker run --rm -p 8009:80 \
--link kong-database:kong-database \
-e "[email protected]" \
-e "PGADMIN_DEFAULT_PASSWORD=pgadmin4" \
-d dpage/pgadmin4

设置链接的url地址:

在 tables 下面查看:

查看sql tables:

这里写图片描述

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

也可以使用命令行登录 pg。

5,总结


使用docker还是非常的方便的。
构建了一个api的网关,kong是一个nginx + lua 开发的api网关。
对于越来越快速互联网开发,实时的上线东西,更新接口,做代理还是非常方便的。
具体的功能使用还没有来的及看。
应该挺方便的。
https://getkong.org/docs/
在最外端做反向代理使用web ui 界面进行配置下,到是挺方便的。

本文的原文连接是:
http://blog.csdn.net/freewebsys/article/details/71261179

猜你喜欢

转载自blog.csdn.net/freewebsys/article/details/80428830
今日推荐