乐趣区

基于-Docker-的-Kong-的环境搭建

基于 Docker 的 Kong 的环境搭建

本次操作都是基于 Docker 进行操作的,使用的 Kong 的版本是 1.2.0,使用的 PostgreSQL 版本是 9.6。本文档的前提是已经安装最新版 Docker,并能够连接至 Docker 官方镜像中心下载镜像。如果有不满足的条件,自行调整命令。

  • 创建 Kong 专用网络

    创建一个 Kong 相关镜像的专用网络,通过这个网络实现网络互通。

    docker network create kong-network
  • 安装数据库

    使用 Docker 安装 PostgreSQL 数据库,加入 Kong 专用网络,创建用户 kong,创建数据库 kong。

    docker run -d \
      --name kong-database \
        --net kong-network \
        -p 5432:5432 \
        -e "POSTGRES_USER=kong" \
        -e "POSTGRES_DB=kong" \
        postgres:9.6
  • 初始化数据库

    使用 Kong 官方镜像提供的功能初始化 PostgreSQL 数据库。因为接入了 Kong 专用网络,所以这里的 KONG_PG_HOST 直接写 kong-database,也就是前面创建的 PostgreSQL 数据库的容器 name。

    docker run --rm \
        --net kong-network \
        -e "KONG_DATABASE=postgres" \
        -e "KONG_PG_HOST=kong-database" \
        -e "KONG_PG_PASSWORD=kong" \
        -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
        kong:1.2.0 kong migrations bootstrap
  • 安装 Kong

    安装完成后在宿主机请求 http://localhost:8001/,能正常响应则表示部署成功了。

    docker run -d --name kong \
        --net kong-network \
        -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" \
        -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
        -p 8000:8000 \
        -p 8443:8443 \
        -p 8001:8001 \
        -p 8444:8444 \
        kong:1.2.0
  • 安装 konga

    我们使用 konga 的图形界面来更方面的管理 kong。访问 http://localhost:1337/ 能正常访问则表示安装成功。我们使用的最简单的部署方式,Konga 相关的信息是存储在本地的。

    docker run -d --name konga \
        --net kong-network \
        -p 1337:1337 \
        pantsel/konga
  • 配置连接

    新增一个连接至刚刚新建的 kong,Kong Admin URL 填 http://kong:8001,type 选择 default。

退出移动版