企业级docker安装kong,konga实战

一,基于docker完成网关kong的安装及其kong必须的数据库postgres的安装

1,创建1个docker网络,用于docker容器之间信息交互

docker network create kong-net

2,postgres的安装

docker run -d --name kong-database \
--network=kong-net \    #使用刚刚创建的网络,后续的所有容器都使用这个网络
-v /etc/localtime:/etc/localtime \  #把docker容器目录/etc/localtime挂载到本地服务器/etc/localtime
-p 5432:5432 \  #数据库的端口
-e "POSTGRES_USER=kong" \  #登录数据库的账号
-e "POSTGRES_DB=kong" \  #存放表的目录
-e "POSTGRES_PASSWORD=kong" \  #登录数据库的密码
postgres:9.6  #其它版本没试过,企业用的是9.6的版本

3,安装完postgres:9.6后,可以使用Navicat Premium 15工具连接测试,是收费软件

4,数据库迁移,把kong:latest kong migrations bootstrap镜像表迁移到上面的DB目录下

docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap

5,让一步完成后,用Navicat Premium 15工具可以看到kong目录下生成了很多表格

6,安装并启动kong容器,

docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \  
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
-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:latest

7,kong安装好后,可通过http://ip:8001访问网关接口

二、konga的安装,konga是kong的界面化,通过konga提供的界面操作kong接口,如果熟悉kong接口配置,可以不安装使用konga

1,konga必须的数据库配置,注意这里的端口和kong的端口是不同的

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

2,konga数据初始化,和kong的数据库迁移一样
docker run --rm  --network=kong-net \
pantsel/konga:latest -c prepare -a postgres -u postgres://konga:konga@konga-database:5432/konga

3,安装并运行konga容器

docker run -d -p 1337:1337 \
--network=kong-net \
-e "DB_ADAPTER=postgres" \
-e "DB_URI=postgres://konga:konga@konga-database:5432/konga" \
-e "NODE_ENV=production" \
-e "DB_PASSWORD=konga" \
--name konga \
pantsel/konga

4,安装后可通过http//:ip:1337访问konga界面

你可能感兴趣的:(devops,nginx)