安装记录,参考链接
- https://hub.docker.com/_/kong/ 这里默认用的是 cassandra
- https://getkong.org/install/docker/ 然这里默认的是 pg
所以在设置数据库的时候保持一致,我这里用的pg,然后把本地的kong代码挂载到docker里面了(非必要),主要方面看代码时候调试(对于开发环境还是弱了点)
docker的宿主环境 macos 10.13
安装pg
首先是安装pg数据库
docker run -d --name kong-database \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.5
同步表结构
删除本地之前的kong版本
docker rmi kong
下载最新的kong 数据库表结构同步
docker run --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong kong migrations up
启动kong
github clone 代码
git clone https://github.com/Kong/kong.git
启动 kong,使用本地的kong源码文件
docker run -d --name kong-local \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-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" \
-e "KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444" \
-p 9000:8000 \
-p 9001:8001 \
-v /Users/liuzhizhi/githouse/kong/kong:/usr/local/share/lua/5.1/kong/ \
kong
执行kong的各种命令
docker exec -it kong-local kong reload
这样基本就可以愉快的玩耍了,如果数据库有改动,在第二步合并数据库的时候也要挂载kong的本地目录。
来源:CSDN
作者:orangleliu
链接:https://blog.csdn.net/lzz957748332/article/details/79722331