阿里云服务器 CentOS 7上-- Docker 安装 网关(API-Getway)--KONG

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

全程操作按官方文档来就可以了。

 

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 ,所以装好 nginx

 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 地址也对应的设置了。

执行命令最终为:

docker run --rm -p 8080:8080 --name kong-dashboard pgbi/kong-dashboard start --kong-url http://xx.xx.xx.8:8001

 

依旧会自动下载所需镜像,运行完成。

 

 

可以通过以下命令查看服务是否正常启动:

curl http://服务器内网IP:8080/status  这个大概是请求的是kong应用的界面。

curl http://服务器内网IP:8001/status 这个大概是请求的是kong应用的接口。

 

最后成功访问到 UI 界面 :

备注:

1)如果遇到报错:

could not retrieve server_version: timeout

解决方法参见:Kong 启动报错解决

2)服务启动成功却在浏览器上始终访问不到界面,最后才想起是阿里云服务器上未开放端口8080。

开放端口 8080 就可以了。开放方法参见:阿里云服务器开放8080端口

 

参考Docker 官方文档:

https://docs.docker.com/samples/library/kong/#kongversion 

https://hub.docker.com/r/pgbi/kong-dashboard/

https://docs.docker.com/samples/library/nginx/

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值