有關如何在Docker中使用Kong的詳細信息,可以在托管該映像的DockerHub存儲庫中找到:kong。我們還有一個具有內置編排和可伸縮性的Docker Compose模板。
使用數據庫
這是一個簡單的示例,顯示了如何將Kong容器連接到Cassandra或PostgreSQL容器。
1.創建一個Docker網絡
您將需要創建一個自定義網絡,以使容器能夠發現彼此並進行通信。在此示例中kong-net為網絡名稱,您可以使用任何名稱。
$ docker network create kong-net
2.啟動你的數據庫
如果您想使用Cassandra容器:
$ docker run -d --name kong-database \
--network=kong-net \
-p 9042:9042 \
cassandra:3
如果您想使用PostgreSQL容器:
$ 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
3.准備數據庫
使用臨時Kong容器運行遷移:
$ docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong" \ 數據庫密碼
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
在上面的示例中,同時配置了Cassandra和PostgreSQL,但是您應該KONG_DATABASE使用cassandra或更新環境變量 postgres。
Kong <0.15的注意事項:Kong版本低於0.15(最高0.14)時,請使用up子命令代替bootstrap。還要注意,Kong <0.15時,永遠不要同時運行遷移;一次只能有一個Kong節點執行遷移。對於0.15、1.0及更高版本,此限制被取消。
4.開始Kong
運行遷移並准備好數據庫后,啟動一個Kong容器,該容器將連接到數據庫容器,就像臨時遷移容器一樣:
$ docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-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 \ --如果增加IP,則只能指定IP訪問
-p 8444:8444 \ --如果增加IP,則只能指定IP訪問
kong:latest
5.使用Kong
Kong正在運行:
$ curl -i http://localhost:8001/
6.使用Konga
拉取Konga鏡像:
docker pull pantsel/konga:latest
7.運行Konga
創建Konga容器:
docker run -p 1337:1337 \
--network kong-net \
--name konga \
-e "NODE_ENV=production" \
-e "DB_ADAPTER=postgres" \
-e "DB_URI=postgresql://kong:kong@172.18.0.1:5432/konga" \
pantsel/konga
注:172.18.0.1為安裝Postgresql容器的IP
5分鍾的快速入門快速學習如何使用Kong 。