Docker安装Kong

有关如何在Docker中使用Kong的详细信息,可以在托管该映像的DockerHub存储库中找到:kong。我们还有一个具有内置编排和可伸缩性的Docker Compose模板。

使用数据库

这是一个简单的示例,显示了如何将Kong容器连接到Cassandra或PostgreSQL容器。

1.创建一个Docker网络

您将需要创建一个自定义网络,以使容器能够发现彼此并进行通信。在此示例中kong-net为网络名称,您可以使用任何名称。

 $ docker network create kong-net

2.启动你的数据库

如果您想使用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

3.准备数据

使用临时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及更高版本,此限制被取消。

4.开始Kong

运行迁移并准备好数据库后,启动一个Kong容器,该容器将连接到数据库容器,就像临时迁移容器一样:

$ 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 8000:8000 \
     -p 8443:8443 \
     -p 8001:8001 \  --如果增加IP,则只能指定IP访问
     -p 8444:8444 \  --如果增加IP,则只能指定IP访问
     kong:latest

5.使用Kong

Kong正在运行:

$ curl -i http://localhost:8001/

6.使用Konga

拉取Konga镜像:

docker pull pantsel/konga:latest

7.运行Konga

创建Konga容器:

docker run -p 1337:1337 \
        --network kong-net \
        --name konga \
        -e "NODE_ENV=production"  \
        -e "DB_ADAPTER=postgres" \
        -e "DB_URI=postgresql://kong:kong@172.18.0.1:5432/konga" \
        pantsel/konga

注:172.18.0.1为安装Postgresql容器的IP
5分钟的快速入门快速学习如何使用Kong 。

posted @ 2020-05-16 16:27  ryan-Z  阅读(3738)  评论(0编辑  收藏  举报