本次搭建參考官方文檔,整個搭建過程比較簡單,只是控制好kong的版本即可:
創建一個專屬網絡:
root@test:~# docker network create kong-net
創建一個postgres數據庫容器:
docker run -d --name kong-database \
--network=kong-net \ -p 5432:5432 \
-e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kong" \
postgres:9.6
創建一個臨時的0.15版本的kong容器用於遷移:
docker run --rm \
--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" \
kong:0.15 kong migrations bootstrap
運行遷移並准備好數據庫后,啟動一個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 127.0.0.1:8001:8001 \
-p 127.0.0.1:8444:8444 \
kong:0.15
創建一個kong-dashboard容器,提供UI訪問界面:
root@test:~# docker run --rm -p 8080:8080 --network=kong-net pgbi/kong-dashboard start --kong-url http://kong:8001