1. 程式人生 > >[kong] 使用docker搭建測試環境

[kong] 使用docker搭建測試環境

安裝記錄,參考連結

所以在設定資料庫的時候保持一致,我這裡用的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的本地目錄。