【實(shí)踐】在Ubuntu下安裝TYK Docker容器

1. 摘要

本文介紹在Ubuntu操作系統(tǒng)下舶胀,采用docker容器安裝TYK的實(shí)踐操作盅安,供入門學(xué)習(xí)昵宇。

2.安裝說明

Tyk是一個開源的輕量級API網(wǎng)關(guān)程序造虏,點(diǎn)擊跳轉(zhuǎn)到Tyk官網(wǎng)御吞。輝哥為什么選擇TYK網(wǎng)關(guān),參考文章《【實(shí)踐】5種微服務(wù)開源API網(wǎng)關(guān)對比漓藕,為什么我選擇了TRY》

2.1 安裝Docker

Docker 是*一個開源的應(yīng)用容器引擎挟裂,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中享钞,然后發(fā)布到任何流行的 Linux或Windows 機(jī)器上,也可以實(shí)現(xiàn)虛擬化诀蓉。
從Ubuntu的倉庫直接下載安裝栗竖。

sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

檢查是否安裝成功:

ubuntu@ip-172-31-12-147:/home/arta$ docker -v
Docker version 18.09.5, build e8ff056

2.2 下載TYK及依賴鏡像

2.2.1 拉取TYK的Docker鏡像

# docker pull tykio/tyk-gateway
# docker pull tykio/tyk-dashboard
# docker pull tykio/tyk-pump-docker-pub

2.2.2 拉取TYK運(yùn)行需要依賴的Docker鏡像

# docker pull redis
# docker pull mongo

2.2.3 查看DOCKER 鏡像列表

root@ip-172-31-11-188:/home/ubuntu/tyk/tyk-dashboard-docker# docker image ls
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
mongo                       latest              9c02a5a12c52        4 days ago          413MB
tykio/tyk-dashboard         latest              d603a4f174e7        10 days ago         288MB
tykio/tyk-gateway           <none>              9a9352edc14b        10 days ago         331MB
redis                       latest              598a6f110d01        2 weeks ago         118MB
tykio/tyk-pump-docker-pub   latest              38519d9e8235        7 weeks ago         137MB
tykio/tyk-gateway           latest              620379bd9231        3 months ago        359MB

2.3 啟動運(yùn)行TYK

2.3.1 啟動redis和mongo

# docker run -d --name tyk_mongo mongo
# docker run -d --name tyk_redis redis

2.3.2 啟動TYK容器

# docker run -d -p 3080:3080 --link tyk_redis:redis --name tyk_gateway tykio/tyk-gateway
# docker run -d --name tyk_dashboard -p 3000:3000 --link tyk_redis:redis --link tyk_mongo:mongo --link tyk_gateway:tyk_gateway tykio/tyk-dashboard
# docker run -d --name tyk_pump --link tyk_redis:redis --link tyk_mongo:mongo tykio/tyk-pump-docker-pub

此時你可以訪問Ubuntu的ip:3000 查看dashboard了。例如輝哥環(huán)境如下:

2.4 獲取激活碼

登錄TYK官網(wǎng)(https://tyk.io/api-gateway/on-premise/)渠啤,點(diǎn)擊“GET A DEV LICENCE”狐肢,可以獲得3個月的界面版本的試用權(quán)限。

期限選擇3個月(1年的沒有了)沥曹,填寫相關(guān)信息后份名,注冊郵箱就可以收到注冊碼了碟联。https://tyk.io/product/tyk-on-premises-free-edition/

注冊郵箱收到的注冊碼:

把注冊碼復(fù)制出來填寫到網(wǎng)址(例如http://52.2.107.183:3000/)的激活碼區(qū),然后點(diǎn)擊“ACTIVE KEY”僵腺,即可獲得TYK界面的使用權(quán)限鲤孵。

2.5 創(chuàng)建基礎(chǔ)配置,設(shè)置用戶信息

基礎(chǔ)配置文件在github上,地址如下:https://github.com/TykTechnologies/tyk-dashboard-docker

在ubuntu中自己找一個位置(隨意)辰如,執(zhí)行如下命令(前提需要ubuntu已經(jīng)安裝git普监,如果沒有安裝請自行g(shù)oogle)

git clone https://github.com/TykTechnologies/tyk-dashboard-docker

下載完成后,進(jìn)入到對應(yīng)的文件夾

cd tyk-dashboard-docker/

進(jìn)入文件夾后琉兜,找到 bootstrap.sh 文件凯正,如果Ubuntu安裝的是python3以下的版本,則直接運(yùn)行如下命令即可豌蟋。

# ./bootstrap.sh 52.82.107.183
Creating Organisation
ORGID: 5d3d53cf0a73f30001bc0071
Adding new user
USER AUTH: df769ab92f364737762979d96d6f9049
NEW ID: 5d3d53cff45b6e41f722f796
Setting password

DONE
====
Login at http://52.82.107.183:3000/
User: uwdjif6tkl@example.com
Pass: test123

瀏覽器上輸入對應(yīng)的地址漆际,使用產(chǎn)生的用戶名和密碼就可以登錄TYK界面系統(tǒng)了。

如果是以上版本包括python3,則需要做一些更改夺饲,如果自己不確定奸汇,可以先執(zhí)行以上命令,執(zhí)行過程中有錯誤信息往声,則做以下幾步:

1擂找、清空bootstrap.sh文件內(nèi)容

bootstrap.sh

2、將以下內(nèi)容保存到文件中
#!/bin/bash
# Usage ./bootstrap.sh DASHBOARD_HOSTNAME

LOCALIP=$1
RANDOM_USER=$(env LC_CTYPE=C tr -dc "a-z0-9" < /dev/urandom | head -c 10)
PASS="test123"

echo "Creating Organisation"
ORGDATA=$(curl --silent --header "admin-auth: 12345" --header "Content-Type:application/json" --data '{"owner_name": "Default Org.","owner_slug": "default", "cname_enabled": true, "cname": ""}' http://$LOCALIP:3000/admin/organisations 2>&1)
#echo $ORGDATA
ORGID=$(echo $ORGDATA | python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj["Meta"])')
echo "ORGID: $ORGID" 

echo "Adding new user"
USER_DATA=$(curl --silent --header "admin-auth: 12345" --header "Content-Type:application/json" --data '{"first_name": "John","last_name": "Smith","email_address": "'$RANDOM_USER'@default.com","password":"'$PASS'", "active": true,"org_id": "'$ORGID'"}' http://$LOCALIP:3000/admin/users 2>&1)
#echo $USER_DATA
USER_CODE=$(echo $USER_DATA | python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj["Message"])')
echo "USER AUTH: $USER_CODE" 

USER_LIST=$(curl --silent --header "authorization: $USER_CODE" http://$LOCALIP:3000/api/users 2>&1)
#echo $USER_LIST

USER_ID=$(echo $USER_LIST | python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj["users"][0]["id"])')
echo "NEW ID: $USER_ID"

echo "Setting password"
OK=$(curl --silent --header "authorization: $USER_CODE" --header "Content-Type:application/json" http://$LOCALIP:3000/api/users/$USER_ID/actions/reset --data '{"new_password":"'$PASS'"}')

echo ""

內(nèi)容替換完成后執(zhí)行:

./bootstrap.sh Ubuntu主機(jī)ip

如果執(zhí)行報錯浩销,八成是文件中python相關(guān)問題贯涎,可以自行排查解決,執(zhí)行后輸出信息如下:

root@ubuntu:~/tyk-dashboard-docker# ./bootstrap.sh 192.168.174.131
Creating Organisation
ORGID: 5c17635489d49c00014fffb3
Adding new user
USER AUTH: 2700cd3dd5c94aa74e66a61ccb0d8195
NEW ID: 5c1763544b084caaaa850abe
Setting password

DONE
====
Login at http://192.168.174.131:3000/
User: j4aawfows5@default.com
Pass: test123

信息的結(jié)尾處包含了訪問地址以及用戶名和密碼慢洋,就可以登錄了塘雳。

如何使用TKY 界面系統(tǒng),另外文章再做介紹普筹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末败明,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子太防,更是在濱河造成了極大的恐慌妻顶,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜒车,死亡現(xiàn)場離奇詭異讳嘱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)酿愧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門沥潭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嬉挡,你說我怎么就攤上這事钝鸽』阈簦” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵寞埠,是天一觀的道長屁置。 經(jīng)常有香客問我,道長仁连,這世上最難降的妖魔是什么蓝角? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮饭冬,結(jié)果婚禮上使鹅,老公的妹妹穿的比我還像新娘。我一直安慰自己昌抠,他們只是感情好患朱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著炊苫,像睡著了一般裁厅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侨艾,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天执虹,我揣著相機(jī)與錄音,去河邊找鬼唠梨。 笑死袋励,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的当叭。 我是一名探鬼主播茬故,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蚁鳖!你這毒婦竟也來了磺芭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤才睹,失蹤者是張志新(化名)和其女友劉穎徘跪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體琅攘,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年松邪,在試婚紗的時候發(fā)現(xiàn)自己被綠了坞琴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逗抑,死狀恐怖剧辐,靈堂內(nèi)的尸體忽然破棺而出寒亥,到底是詐尸還是另有隱情,我是刑警寧澤荧关,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布溉奕,位于F島的核電站,受9級特大地震影響忍啤,放射性物質(zhì)發(fā)生泄漏加勤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一同波、第九天 我趴在偏房一處隱蔽的房頂上張望鳄梅。 院中可真熱鬧,春花似錦未檩、人聲如沸戴尸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孙蒙。三九已至,卻和暖如春悲雳,著一層夾襖步出監(jiān)牢的瞬間挎峦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工怜奖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浑测,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓歪玲,卻偏偏與公主長得像迁央,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子滥崩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容