kong使用docker环境安装

一、创建一个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
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34758074/article/details/109228242
今日推荐