หลังจากที่เราได้ลองติดตั้ง Kong บน Linux กันไปแล้ว เราจะมาติดตั้งบน Docker กันบ้าง เพราะไม่สามารถติดตั้ง Konga ได้ จึงจะมาใช้ Docker ในการรันทั้ง Kong, Konga และ PostgreSQL
Requirement
Install
- ทำการสร้าง Network สำหรับ Kong Container
# docker network create kong-net
- ทำการรัน ProgreSQL Container
# 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
- ทำการ Migrate Database
# 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.13 kong migrations up bootstrap
- ทำการรัน Kong Container
# 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:0.13
- ลองทดสอบเรียก Kong API
# curl -i http://localhost:8001/
- ทำการ Prepare Database
# docker run --rm --network=kong-net pantsel/konga -c prepare -a postgres -u postgresql://kong@kong-database:5432/konga_db
- ทำการรัน Konga Container
# docker run -p 1337:1337 \
--network=kong-net \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=kong-database" \
-e "DB_USER=kong" \
-e "DB_DATABASE=konga_db" \
-e "KONGA_HOOK_TIMEOUT=120000" \
-e "NODE_ENV=production" \
--name konga \
pantsel/konga:legacy
- ลองเข้าไปที่ http://localhost:1337
- หลังจาก Login เข้ามาจะเห็นหน้าตาแบบนี้
- ทำการสร้าง Connection ต่อไปยัง Kong API
- ทำการ Activate Connection
- คลิก Dashboard จะเห็นหน้าตาเป็นแบบนี้
อ่านเพิ่มเติม : https://bit.ly/2FGNBhR, https://bit.ly/2RW4tHb
Leave a Reply