kong使用docker环境安装

it2026-08-04  10

一、创建一个Docker网络

docker network create kong-net

如果在创建自定义网络时,出现下面的提示:

Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network 1

可能因为Docker默认支持30个不同的自定义bridge网络,如果超过这个限制,就会提示上面的错误。你可以使用命令docker network ls来查看你创建的网络,然后通过命令docker network prune来移除没有使用的网络。

二、安装数据库

数据库版本可自定

docker run -d --name kong-database \ --network=kong-net \ -p 5432:5432 \ -e "POSTGRES_USER=postgres" \ -e "POSTGRES_PASSWORD=postgres" \ -e "POSTGRES_DB=postgres" \ postgres:9.6

数据库安装后,可进入postgres容器,创建kong用户及数据库kong,操作步骤如下:

#进入到postgres容器中

docker exec -it container_id /bin/bash #切换用户 su postgres #进入命令 psql; #创建用户kong及密码 create user kong with password 'kong'; #创建数据库kong create database kong owner kong; #查看创建后的数据库(可省) \l

三、初始化数据库

docker run --rm \ --network=kong-net \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ -e "KONG_PG_PASSWORD=kong" \ kong:0.13.1 kong migrations up

四、安装kong镜像并启动kong

数据库安装好了,并按指定kong版本进行对应的初始化后,现在可以通过docker拖取镜像并启动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_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:0.13.1

五. 验证kong

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

六. 管理端dashboard

迁移konga数据表到pgsql

docker run --name konga --rm \ --network=kong-net \ pantsel/konga -c prepare -a postgres -u postgresql://postgres:postgres@kong-database:5432/postgres

启动konga

docker run -p 1337:1337 -d \ --network=kong-net \ -e "DB_ADAPTER=postgres" \ -e "DB_HOST=kong-database" \ -e "DB_USER=postgres" \ -e "DB_PASSWORD=postgres" \ -e "DB_DATABASE=postgres" \ -e "KONGA_HOOK_TIMEOUT=120000" \ -e "DB_PG_SCHEMA=public" \ -e "NODE_ENV=production" \ --name konga \ pantsel/konga

访问konga:http://ip:1337,注册admin账号,登录后将kong的管理url加入konga:http://kong:8001

最新回复(0)