Docker安装部署kong和konga,并且配置konga页面

ps:docker 安装kong时,postgres的版本最好使用9.6,版本过高过低可能会出现问题
  1. 网络配置

    1 docker network create kong-net
  2. 安装启动postgres容器

    复制代码
    1     docker run -d --name kong-database \
    2            --network=kong-net \
    3            -p 5432:5432 \
    4            -e "POSTGRES_USER=kong" \
    5            -e "POSTGRES_DB=kong" \
    6            -e "POSTGRES_PASSWORD=kong" \
    7      postgres:9.6
    复制代码
  3. 安装配置kong

    • 初始化kong数据库

      复制代码
      1     docker run --rm \
      2            --network=kong-net \
      3             -e "KONG_DATABASE=postgres" \
      4             -e "KONG_PG_HOST=kong-database" \
      5             -e "KONG_PG_USER=kong" \
      6             -e "KONG_PG_PASSWORD=kong" \
      7             -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
      8     kong:latest kong migrations bootstrap
      复制代码
    • 安装启动kong容器

      复制代码
       1  docker run -d --name kong \
       2             --network=kong-net \
       3             -e "KONG_DATABASE=postgres" \
       4             -e "KONG_PG_HOST=kong-database" \
       5             -e "KONG_PG_USER=kong" \
       6             -e "KONG_PG_PASSWORD=kong" \
       7             -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
       8             -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
       9             -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
      10             -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
      11             -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
      12             -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
      13             -p 8000:8000 \
      14             -p 8443:8443 \
      15             -p 8001:8001 \
      16             -p 8444:8444 \
      17     kong:latest
      复制代码
  4. 安装配置konga

    • 创建konga数据库
      复制代码
       1 # 进入postgres的docker容器
       2 docker exec -it kong-database /bin/bash
       3 # 进入postgres数据库命令行操作,输入密码konga
       4 psql -U kong -W
       5 # 创建用户
       6 create user konga with password 'konga';     
       7 # 创建数据库 
       8 create database konga owner konga;     
       9 # 授权
      10 grant all privileges on database konga to konga;     
      复制代码
    • 初始化konga数据库(红色部分为上一步中创建的konga数据库的用户,密码和数据库实例,蓝色部分为postgres的IP地址)
      1     docker run --rm pantsel/konga:latest \
      2              -c prepare \
      3              -a postgres \
      4              -u postgresql://konga:konga@192.168.146.41:5432/konga
    • 启动konga容器(蓝色部分为postgres的IP地址)
      复制代码
       1     docker run -d --name konga \
       2            --network=kong-net \
       3            -e "DB_ADAPTER=postgres" \
       4            -e "DB_HOST=192.168.146.41" \ 
       5            -e "DB_PORT=5432" \
       6            -e "DB_USER=konga" \
       7            -e "DB_PASSWORD=konga" \
       8            -e "DB_DATABASE=konga" \
       9            -e "DB_PG_SCHEMA=public"\
      10            -e "NODE_ENV=production" \
      11            -p 1337:1337 \
      12     pantsel/konga
      复制代码
  5. konga可视界面配置服务和路由

    • 页面登录(ip换成docker所在的服务器ip,或者容器对外暴露的ip),连接kong,选择CONNECTIONS,点击NEW CONNECTION,输入kong的url,确认后,点击ACTIVATE即可连接,http://192.168.146.41:1337/
    •  首先选中左侧SERVICES后点击图中绿色按钮ADD NEW SERVICE,配置如下几个参数,配置后点击提交

    •  

    • 点击刚刚创建的服务的名称,可以修改刚刚设置的配置,选择下图红框的Routes,配置服务的路由,点击提交,至此简单配置完成,按照
      (规则为 http://网关ip:8000/路由配置Paths的值/controller的拦截路径) 可访问启动的服务

       

posted @ 2023-02-20 18:46  技术研究与问题解决  阅读(683)  评论(0编辑  收藏  举报