阿里云服務器 CentOS 7上-- Docker 安裝 網關(API-Getway)--KONG

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

全程操作按官方文檔來就可以了。

?

1.將 Kong 連接到 Cassandra 或 PostgreSQL 容器

Kong支持 2 種數據庫:Cassandra 或 PostgreSQL ,至于使用哪個完全 UP 2 U 。

執行以下命令啟動Cassandra容器:

$ docker run -d --name kong-database \-p 9042:9042 \cassandra:3

?

通過執行以下命令來啟動PostgreSQL容器:

docker run -d --name kong-database \-p 5432:5432 \-e "POSTGRES_USER=kong" \-e "POSTGRES_DB=kong" \postgres:9.5

?

我選擇的是PostgreSQL,執行上述命令,如果當前環境沒有對應鏡像會自動從 Docker 倉庫下載,直到這個命令執行完就可以查到這個鏡像了,并且 kong-database?容器也有了。

(?Kong 要求 postgres 9.4 或更高版本?,并且要對數據庫作大版本號升級的話對新手來說挺復雜,所以個人建議新安裝盡量不要裝版本號過低的數據庫)?

查看?postgres 數據庫的鏡像和容器:

?

2.準備數據庫

用一個 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 的數鏡像已有了:

?

3.對 Kong 進行自定義配置

您可以用環境變量覆蓋?Kong配置文件的?任何屬性。只需將KONG_前綴添加到任何Kong配置屬性中,例如:

$ docker run -d --name kong \-e "KONG_DATABASE=postgres"-e "KONG_PG_HOST=kong-database" \-e "KONG_LOG_LEVEL=info" \-e "KONG_CUSTOM_PLUGINS=helloworld" \-e "KONG_PG_HOST=1.1.1.1" \-e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \-e "KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444" \-p 8000:8000 \-p 8443:8443 \-p 8001:8001 \-p 8444:8444 \kong

?

至此 Kong 已安裝成功 :

?

?

我的 kong 裝好啟動后不久總是會自動退出,后來想到: KONG 是基于 nginx ,所以裝好 nginx

 docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

運行后如下:


?

4. 安裝 KONG 的圖形化管理界面 kong-dashboard?

Start Kong Dashboard 命令如下:
docker run --rm -p 8080:8080 pgbi/kong-dashboard start --kong-url http://kong:8001

?

我在執行時給容器起了個比較好辨識的名字 :?kong-dashboard?

另外我的 kong 是安裝在 IP 為 xx.xx.xx.8 的物理機上,所以把 IP 地址也對應的設置了。

執行命令最終為:

docker run --rm -p 8080:8080 --name kong-dashboard pgbi/kong-dashboard start --kong-url http://xx.xx.xx.8:8001

?

依舊會自動下載所需鏡像,運行完成。

?

?

可以通過以下命令查看服務是否正常啟動:

curl http://服務器內網IP:8080/status? 這個大概是請求的是kong應用的界面。

curl http://服務器內網IP:8001/status?這個大概是請求的是kong應用的接口。

?

最后成功訪問到 UI 界面 :

備注:

1)如果遇到報錯:

could not retrieve server_version: timeout

解決方法參見:Kong 啟動報錯解決

2)服務啟動成功卻在瀏覽器上始終訪問不到界面,最后才想起是阿里云服務器上未開放端口8080。

開放端口 8080 就可以了。開放方法參見:阿里云服務器開放8080端口

?

參考Docker 官方文檔:

https://docs.docker.com/samples/library/kong/#kongversion?

https://hub.docker.com/r/pgbi/kong-dashboard/

https://docs.docker.com/samples/library/nginx/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449294.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449294.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449294.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每個程序員都應該了解的內存知識

英文原文:lwn.net,翻譯:開源中國 [編輯的話: Ulrich Drepper最近問我們,是不是有興趣發表一篇他寫的內存方面的長文。我們不用看太多就已經知道,LWN的讀者們會喜歡這篇文章的。內存的使用常常是軟件性能的決定性因子&…

山區建小學

題目描述 政府在某山區修建了一條道路&#xff0c;恰好穿越總共nn個村莊的每個村莊一次&#xff0c;沒有回路或交叉&#xff0c;任意兩個村莊只能通過這條路來往。已知任意兩個相鄰的村莊之間的距離為d_idi?&#xff08;為正整數&#xff09;&#xff0c;其中&#xff0c;0<…

idea debugger console 不見了--還原 console 圖標

1 找了好久&#xff0c;也找不到&#xff0c;調試的時候挺麻煩的。 2 最后發現 有個一個重置&#xff0c;視圖的按鈕。點擊一下就恢復 。 如下圖。轉自&#xff1a;https://blog.csdn.net/changdejie/article/details/64127026

實驗五:任意輸入10個int類型數據,排序輸出,再找出素數

import java.util.Scanner; public class Pxsushu {public static void main(String[] args) {// TODO Auto-generated method stubScanner s new Scanner(System.in);int temp;//對數組事先聲明并創建10個空間int[] a new int[10];//把輸入的數存儲為數組for (int i 0; i &…

Vue筆記(六)——Vue組件通信Vuex

組件通信 vue本身的組件通信 父>子&#xff1a;父組件向子組件傳參或者調用子組件的方法子>父&#xff1a;子組件向父組件傳參或者調用父組件的方法兄弟之間&#xff1a;兄弟組件之間傳參或者調用方法父子通信 傳參 - props思路&#xff1a;定義子組件的屬性&#xff08;…

灼灼夏日 - 遙思故鄉 - 赤子無相忘

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 偶然翻看舊照片&#xff0c; 想起沒有帶過來的一本本詩集、散文集、手抄本、畫冊 ... 想起母親的寄掛 ... 想起父親的沉默 ... 想起少…

錢生錢最好的辦法是什么?

當你養成理財的六種好習慣時&#xff0c;你能錢生錢了。這六種習慣是&#xff1a; 習慣一&#xff1a;記錄財務情況。能夠衡量就必然能夠了解&#xff0c;能夠了解就必然能夠改變。如果沒有持續的、有條理的、準確的記錄&#xff0c;理財計劃是不可能實現的。因此&#xff0c;在…

grid - 隱式命名網格線名稱

1.隱式的指定網格線反向指定了隱式的網格區域名稱&#xff0c;命名的網格區域隱式的命名了網格線名稱. 指定網格區域會給網格區域邊線添加隱式的網格線名稱。這些網格線的命名是基于網格區域來命名&#xff0c;只是在網格區域名稱的后面添加后綴-start或-end. 1 <view class…

前端筆試題小結(一)

前端筆試題小結&#xff08;一&#xff09; 2020-03-13 題目一&#xff1a; 將一個js數組去重。 樣例&#xff1a; 輸入&#xff1a;[ 1, “apple”, 3, “a”, 3, 1, 5, 6, “a”, 4 ] 輸出&#xff1a;[ 1, “apple”, 3, “a”, 5, 6, 4 ] 分析1&#xff1a; 將兩個數組循…

2019-3-1

偽靜態: .html url(^page/(?P<id>\d).html/$,views.page,namepages) /page/1|2|3.html/ | {% url pages 1|2|3 %} 3.request對象 --method,GET,POST --FILES,META,body,path,get_full_path(),is_ajax(),COOKIE,session 4.CBV處理請求的另外一種方式 from django.…

java 使用 new Date() 和 System.currentTimeMillis() 獲取當前 時間戳

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 在開發過程中&#xff0c;通常很多人都習慣使用new Date()來獲取當前時間。 使用起來也比較方便&#xff0c;同時還可以獲取與當前時間…

持幣過節也能讓錢生錢

今天是國慶長假前最后一個交易日。從盤面上看&#xff0c;投資者包括部分基金公司減倉明顯。對于目前大盤高位震蕩&#xff0c;很多人選擇落袋為安&#xff0c;持幣過節&#xff0c;不失為明智之舉。但你知道嗎&#xff0c;持幣過節也能讓錢生錢。今天我就來為各位講講其中的奧…

關于cat命令修改文件內容(導入變量符號以及變量內容)

關于cat命令修改文件內容&#xff08;導入變量符號以及變量內容&#xff09; cat >1.txt<<END $11 $22 $1 $2 END 查看文件內容為&#xff1a; [rootserver04 ~]# cat 1.txt 1 2[rootserver04 ~]# 說明導入的$1,$2自動被解析了。但是當我們想輸入一些變量而不被解析…

Android - AsyncTask你知道多少?

http://www.cnblogs.com/qlky/p/5658070.html 為什么asyncTask最好在主線程初始化&#xff1f;在子線程怎么辦&#xff1f; AsyncTask四個方法的執行順序&#xff1f; mWorker和mFuture對象分別是什么&#xff1f;有什么作用&#xff1f;和doInbackground還有postExecute有什么…

2020-3-15

題目一&#xff1a; 問答 請寫出如下代碼運行后產生的結果&#xff0c;并給出解釋&#xff0c;說明結果是如何得出的。 setTimeout(() > console.log(a)); Promise.resolve().then(() > console.log(b);).then(() > Promise.resolve(c).then((data) > {setTimeout…

Kong-dashboard 安裝 啟動運行

Kong Dashboard 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Kong is a scalable, open source API Layer (also known as a API Gateway, or API Middleware). Kong runs in front o…

自動讓錢生錢方法100%安全穩定

中國區網友問題&#xff1a;   手里有一些余錢&#xff0c;希望找一個方法能夠讓錢自動生錢。最好不要讓我煩心的&#xff0c;能夠自動操作。并且不能有風險&#xff0c;本錢絕不能有風險&#xff0c;利潤要很豐厚才可以。像銀行存款、股票基金就不要介紹了。因為前者生錢太慢…

linux lnmp15 部署laravel項目

使用composer創建一個 laravel項目 安裝composer&#xff1a; https://www.jianshu.com/p/ce1d36cbe00f composer create-project laravel/laravel5.5.* --perfer-dist /home/web/blog 復制代碼添加虛擬主機配置文件 sudo lnmp vhost add 復制代碼注&#xff1a;由于laravel的入…

ReentrantLock源碼

ReentrantLock與Synchronized區別在于后者是JVM實現&#xff0c;前者是JDK實現&#xff0c;屬于Java對象&#xff0c;使用的時候必須有明確的加鎖(Lock)和解鎖(Release)方法&#xff0c;否則可能會造成死鎖。 先來查看ReentrantLock的繼承關系(下圖)&#xff0c;實現了Lock和Se…

2020-3-16

題目一&#xff1a; 如何用js獲取checked屬性值。 通過checked屬性可以設置復選框或者單選按鈕處于選中狀態。 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <script> window.onload ()>{let ckdocument.getElementByI…