- 安裝docker(自行安裝,反正我用的mac,直接dmg安裝)
- 創(chuàng)建docker網(wǎng)絡(luò)
docker network create kong-net
- 安裝數(shù)據(jù)庫冠跷,kong支持postgres(postgres9.5以上),創(chuàng)建啟動(dòng)數(shù)據(jù)庫身诺,此處以postgres9.6作為數(shù)據(jù)庫來存儲(chǔ)數(shù)據(jù)
ps:數(shù)據(jù)庫創(chuàng)建用戶名字必須是kong蜜托,數(shù)據(jù)庫db也必須是kong,我這雜七雜八橫沖直撞試驗(yàn)踩坑查到這樣
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.6
- 數(shù)據(jù)庫準(zhǔn)備霉赡,初始化Kong數(shù)據(jù)(此處因?yàn)閗onga只支持kong1.3以上版本橄务,不然編輯router的時(shí)候會(huì)報(bào)錯(cuò))(另外kong 版本低于0.15 需要使用kong migrations up ,大于等于0.15使用kong migrations bootstrap)
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
kong:1.3.0 kong migrations bootstrap
- 啟動(dòng)kong
docker run -d --name kong \
--network=kong-net \
-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, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:1.3.0
- 查看kong是否正在運(yùn)行
curl -i http://localhost:8001
運(yùn)行結(jié)果參考:
HTTP/1.1 200 OK
Date: Wed, 18 Dec 2019 06:08:55 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.14.1
Content-Length: 5659
{"plugins":{"enabled_in_cluster":[],"available_on_server":{"response-transformer":true,"oauth2":true,"acl":true,"correlation-id":true,"pre-function":true,"jwt":true,"cors":true,"ip-restriction":true,"basic-auth":true,"key-auth":true,"rate-limiting":true后便省略
- 至此kong和數(shù)據(jù)庫安裝完畢穴亏,然后對(duì)于konga和KongDashboard都有使用的蜂挪,此處因?yàn)槲乙胟onga
- 安裝konga
docker pull pantsel/konga:latest
docker run -p 1337:1337 \
--network kong-net \
--name konga \
-e "NODE_ENV=production" \
-e "DB_ADAPTER=postgres" \
-e "DB_URI=postgresql://kong:@172.18.0.1:5432/konga" \
pantsel/konga
- 最后一段代碼有一段不壓縮版和上邊一段一樣不用重復(fù)
docker run -p 1337:1337 --network kong-net --name konga -e "NODE_ENV=production" -e "DB_ADAPTER=postgres" -e "DB_URI=postgresql://kong:@172.18.0.1:5432/konga" pantsel/konga
- 最后一段寫完重挑,不用等了,我會(huì)說等了半小時(shí)的么0.0
- 瀏覽器直接敲 http://localhost:1337/ 登陸konga
- docker關(guān)閉之后棠涮,重新啟動(dòng)谬哀,那怎么開啟kong
- 查看當(dāng)前所有容器,會(huì)看到三個(gè)容器konga、kong严肪、postgres史煎,但是都處于關(guān)閉狀態(tài)
docker ps -a
- 按順序啟動(dòng)容器 postgres -> kong -> konga
kong start 容器ID