前言

该操作文档主要适用于本地开发测试使用。它主要安装三个工具 kong konga pqsql。

一 编排文件

docker-compose.yml

  1. version: "3.7"
  2. services:
  3. # Postgres: The database used by Kong
  4. kong-database:
  5. image: postgres:9.6
  6. restart: always
  7. networks:
  8. - kong-net
  9. environment:
  10. POSTGRES_USER: kong
  11. POSTGRES_DB: kong
  12. POSTGRES_PASSWORD: kong
  13. ports:
  14. - "5432:5432"
  15. healthcheck:
  16. test: ["CMD", "pg_isready", "-U", "kong"]
  17. interval: 5s
  18. timeout: 5s
  19. retries: 5
  20. # Kong database migration
  21. kong-migration:
  22. image: kong:latest
  23. command: "kong migrations bootstrap"
  24. networks:
  25. - kong-net
  26. restart: on-failure
  27. environment:
  28. - KONG_DATABASE=postgres
  29. - KONG_PG_HOST=kong-database
  30. - KONG_PG_DATABASE=kong
  31. - KONG_PG_PASSWORD=kong
  32. links:
  33. - kong-database
  34. depends_on:
  35. - kong-database
  36. # Kong: The API Gateway
  37. kong:
  38. image: kong:latest
  39. restart: always
  40. privileged: true
  41. networks:
  42. - kong-net
  43. environment:
  44. KONG_DATABASE: postgres
  45. KONG_PG_HOST: kong-database
  46. KONG_PG_PASSWORD: kong
  47. KONG_PROXY_LISTEN: 0.0.0.0:8000
  48. KONG_PROXY_LISTEN_SSL: 0.0.0.0:8443
  49. KONG_ADMIN_LISTEN: 0.0.0.0:8001
  50. depends_on:
  51. - kong-migration
  52. links:
  53. - kong-database
  54. healthcheck:
  55. test: ["CMD", "curl", "-f", "http://kong:8001"]
  56. interval: 5s
  57. timeout: 2s
  58. retries: 15
  59. ports:
  60. - "8001:8001"
  61. - "80:8000"
  62. - "443:8443"
  63. # Konga database prepare
  64. konga-prepare:
  65. image: pantsel/konga:latest
  66. command: "-c prepare -a postgres -u postgresql://kong:kong@kong-database:5432/konga"
  67. networks:
  68. - kong-net
  69. restart: on-failure
  70. environment:
  71. - KONG_DATABASE=postgres
  72. - KONG_PG_HOST=kong-database
  73. - KONG_PG_DATABASE=konga
  74. - KONG_PG_PASSWORD=kong
  75. links:
  76. - kong-database
  77. depends_on:
  78. - kong-database
  79. # Konga: Kong GUI
  80. konga:
  81. image: pantsel/konga:latest
  82. restart: always
  83. networks:
  84. - kong-net
  85. environment:
  86. DB_ADAPTER: postgres
  87. DB_URI: postgresql://kong:kong@kong-database:5432/konga
  88. NODE_ENV: production
  89. links:
  90. - kong-database
  91. depends_on:
  92. - kong
  93. - konga-prepare
  94. ports:
  95. - "1337:1337"
  96. networks:
  97. kong-net:
  98. driver: bridge

二 执行编排

docker-compose.yml

  1. docker-compose up -d

三 汉化konga(选项)

  1. docker stop kong_konga_1 #停止正在运行的容器
  2. docker cp kong_konga_1:/app/assets ./ #将容器的文件复制到本地
  3. docker pull jsonljd/konga-lang-plugin:latest #拉取语言插件镜像
  4. docker run -d --name konga-lang-plugin -v /Users/hezhaoming/Documents/docker/kong/assets:/app/assets jsonljd/konga-lang-plugin
  5. docker cp ./assets kong_konga_1:/app/ #覆盖成功后即可
  6. docker start kong_konga_1 #重启容器

四 校验安装成果

当然登录之前有个注册页面,填好信息就可以登录了。
image.png