第一期考試系統:環(huán)境配置

林老師給我們每個入職TW的童鞋都帶來一套升級computer配置的裝備(固態(tài)硬盤SSD择懂,8G內存條)開心侦厚!but 意味著電腦又要回到解放前盯质,開始重裝系統,各種裝機配置彪标,想想也想哭著笑倍权!

重新裝系統后,需要重新裝機捞烟,參照http://thoughtworks-academy.github.io/linux-guide/zh-hans/

我在裝機過程遇到問題請參考:http://www.reibang.com/p/82ad51275fdf

安裝docker

  1. 參考官網:https://docs.docker.com/engine/installation/linux/ubuntulinux/
    (執(zhí)行命令到:sudo docker run hello-world薄声,結果出現“hello...docker...“即可)
  2. 拷貝images文件夾, 下載load-images.sh文件到images下面

下載load-images.sh后可以看到images文件夾里的load-image.sh是白色的题画,綠色才是可執(zhí)行的

所以在命令行輸入:
$chmod 777 [load-image.sh](http://load-image.sh/)
(7=4+2+1 4 可讀 2 可寫 1 可執(zhí)行第一個7是用戶的權限默辨,第2個是用戶組的權限,第3個是其他的權限 )

然后就可以看到load-image.sh變成綠色的了接著執(zhí)行:

 $ ./load-image.sh 
或者執(zhí)行:$docker load -i assembly_jenkins.tar

如果上面的命令執(zhí)行出錯:

錯誤為:“ERROR  presscsssing  苍息。缩幸。。Invial tar  header 竞思。表谊。。盖喷”欤”
或者執(zhí)行腳本出錯(其他錯誤可以先在網上找方法)
我建議如果實在找不到方法:就重新拷貝鏡像images
然后在執(zhí)行腳本,安裝assembly_jenkins.tar

去項目下查看鏡像:

$ cd recruiting-system 
$ docker images
執(zhí)行docker需要加上sudo的课梳,可以這樣弄就不需要使用sudo了:

docker命令跟默認docker daemon創(chuàng)建的unix socket 通訊都需要速凍權限距辆, 這尅通過創(chuàng)建docker組來解決:

$sudo groupadd docker 

 將當前用戶加入docker組
$sudo gpasswd -a ${USER} docker

重新啟動docker服務
$sudo service docker restart

安裝docker compose

參考官網:https://docs.docker.com/compose/install/
更便捷的方法:
拷貝docker compese 配置文件到 ubuntu的compose-> usr -> local -> bin 下面
隨便那個目錄下執(zhí)行:$ chmod +x /usr/local/bin/docker-compose

下載項目:

https://github.com/thoughtworks-academy/recruiting-system

修改hosts文件,打開文件暮刃,獨立一行添加

gedit  /etc/hosts

在打開的記事本中加入下面的:
#linux
127.0.0.1 local.twars

進入項目 :

 cd recruiting-system  
 git pull  
 git status
 git submodule update 

查看所有鏡像有沒有裝好
 docker images  

導入mysql
進入項目的assembly目錄下執(zhí)行:

$docker-compose up -d mysql

查看數據庫等
docker  ps  
#結果應該顯示mysql 的版本號跨算,如:”mysql:5.7“

查看該命令后面跟什么:
$ ./twars.sh

初始化數據庫
$ ./twars.sh  my

進入項目的paper-api目錄下執(zhí)行:

$ cd ../parper-api 
查看任務:
#如果出現錯誤,如”ERROR:Java-Home is not set and    no ’java‘ command 椭懊。漂彤。。灾搏〈焱“
#說明沒有安裝JDK,先去安裝JDK狂窑,然后再來執(zhí)行./gradlew tasks 媳板,
#查看任務,并且下載gradle泉哈,時間比較長喲蛉幸!
 $ ./gradlew tasks  查看任務(也可以不執(zhí)行這個)

刷數據庫  :
 $ ./gradlew flywayMigrate  

查看數據庫mysql 破讨、id、容器名等(看你目前運行了哪些容器):
docker ps

進入數據庫:
docker exec -it assembly_mysql_1 bash
# assembly_mysql_1是容器名奕纫,是通過docker ps命令查看得到的提陶。

登錄mysql數據庫(密碼為thoughtworks):
mysql -u root -pthoughtworks  

查看數據庫:
show databases

創(chuàng)建數據庫(一定要加”;“匹层,不加為會報錯):
use BronzeSword隙笆;

查看數據庫中表:
show tables;  
#應該有顯示所初始化的表

退出數據庫:
$ exit

進入assembly目錄下執(zhí)行:

./twars.sh rs          如果提示說沒有權限那就加上sudo
#(如果網不好,可以找已經下載好的同學的電腦當做服務器升筏,通過端口號訪問她的電腦撑柔,獲取她已經下載的東西)
./twars.sh jk          需要真正翻墻才可以執(zhí)行成功(也可以不執(zhí)行這個)

切換到web-api下

gedit app.js

注釋下面兩行
var captcha = require('./middleware/captcha');
app.use(captcha(params));

在assembly下執(zhí)行

$ docker-compose up -d或者docker-compose up -d web-api
$ docker ps -a 查看隱藏的沒有活起來的容器

如果出現node:5.8STATUSExited (1) X seconds ago的提示,那就查看 docker log
項目根目錄下:

$ docker logs assembly_web-api_1 (assembly_web-api_1只是針對我所出現的問題而言的)

執(zhí)行后提示Error: Cannot find module 'newrelic'…
解決Error切換到web-api下執(zhí)行: $ npm i
回到assembly下重新執(zhí)行:$ ./twars.sh rs
$ docker-compose up -ddocker ps -a

此時應該可以看到node的status是 Up X seconds

切換回assembly下執(zhí)行

docker exec -it assembly_web-api_1 bash
出現“root@e122f1d0af63:/#”root@e122f1d0af63:/# cd /var/app/

進入到“root@e122f1d0af63:/var/app#”繼續(xù)執(zhí)行:
root@e122f1d0af63:/var/app#  npm uninstall canvas
root@e122f1d0af63:/var/app#  npm install canvas

如果出現** canvas@1.5.0 invalid **

Ctrl+D退出
然后去到web-api下,將app.js中注釋取消

繼續(xù)在assembly下執(zhí)行

docker ps 查看node:5.8是否up
docker-compose kill web-api 
docker-compose up -d

訪問http://localhost:8888/查看
如:

成功的樣子

在首頁點擊注冊查看驗證碼是否成功顯示:


登錄頁面的驗證碼也成功顯示

解決注冊的問題

#由于在注冊的時候您访,無法注冊成功铅忿,可以在控制臺的Network中看到相應的錯誤,可以知道是因為代碼中的數據沒有被讀入數據庫灵汪,所以需要手動從容器中進入數據庫檀训,修改數據庫,將那條數據(查看日志去代碼中找到的)手動加入數據庫

由于請求是先發(fā)給nginx享言,所以去nginx峻凫,在進入conf.d
里面的代碼有一個協議:”proxy_pass http://web-api:3000

Paste_Image.png

所以去查看web-api日志:
查看assembly_web-api_1容器的日志:

$ docker logs  容器名字(如:assembly_web-api_1)或者容器的id
# docker logs assembly_web-api_1

日志中的錯誤

日志中的錯誤提示是在項目目錄:
web-api/controllers/register-controller.js:190行:25列

去項目中找


項目目錄web-api/controllers/register-controller.js:190行:25列

點到registerable, 兩次ctrl B 担锤,ctrl∥党俊B后:

Paste_Image.png

發(fā)現是由數據庫configuration產生乍钻,找到


Paste_Image.png

點到目錄肛循,ctrl B,就到定義Configuration的文件

Paste_Image.png

依然在web-api下面:


Paste_Image.png
要寫入數據庫的內容

講這條數據復制后添加到數據庫银择,具體步驟看下面

#查看容器
$ docker ps

#進入mongo容器
$ docker exec -it mongo的id  bash
# 如:$ docker exec -it c6258a bash
運行$docker ps 后顯示的內容

進入數據庫(如下圖):

$ mongo
> show dbs

#使用數據庫twars
>use twars

#創(chuàng)建集合configurations
>db.createCollection("configurations")

#給集合configurations插入一條數據(這條數據從代碼中復制得來)
>db.configurations.insert({"registerable":true,"qaContent":""})
從容器中進入數據庫
執(zhí)行結果

然后再去注冊就好可以注冊成功多糠,進入個人中心頁面:

Paste_Image.png
查看docker日志

$ docker logs id(容器的id)

題目不能出來圖片的解決:

Paste_Image.png

修改下面文件中的一行代碼:


Paste_Image.png

將如下第31行代碼:


Paste_Image.png

修改為:

Paste_Image.png

進入assembly ,從新啟動服務器:

$ docker-compose kill 
$ docker-compose up -d

刷新頁面就可以了

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末浩考,一起剝皮案震驚了整個濱河市夹孔,隨后出現的幾起案子,更是在濱河造成了極大的恐慌析孽,老刑警劉巖搭伤,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異袜瞬,居然都是意外死亡怜俐,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門邓尤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拍鲤,“玉大人贴谎,你說我怎么就攤上這事〖疚龋” “怎么了擅这?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長景鼠。 經常有香客問我仲翎,道長,這世上最難降的妖魔是什么莲蜘? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任谭确,我火速辦了婚禮,結果婚禮上票渠,老公的妹妹穿的比我還像新娘逐哈。我一直安慰自己,他們只是感情好问顷,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布昂秃。 她就那樣靜靜地躺著,像睡著了一般杜窄。 火紅的嫁衣襯著肌膚如雪肠骆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天塞耕,我揣著相機與錄音蚀腿,去河邊找鬼。 笑死扫外,一個胖子當著我的面吹牛莉钙,可吹牛的內容都是我干的。 我是一名探鬼主播筛谚,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼磁玉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驾讲?” 一聲冷哼從身側響起蚊伞,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吮铭,沒想到半個月后时迫,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡谓晌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年掠拳,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扎谎。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡碳想,死狀恐怖烧董,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情胧奔,我是刑警寧澤逊移,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站龙填,受9級特大地震影響胳泉,放射性物質發(fā)生泄漏。R本人自食惡果不足惜岩遗,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一扇商、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宿礁,春花似錦案铺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至返吻,卻和暖如春姑子,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背测僵。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工街佑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捍靠。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓沐旨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親剂公。 傳聞我的和親對象是個殘疾皇子希俩,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內容

  • 安裝ubuntu系統 點擊并按步驟安裝Ubuntu系統吊宋,并根據內容安裝相應內容纲辽。 ubuntu自帶的中文真的大寫尷...
    恐怕是小珠桃子閱讀 163評論 0 0
  • 安裝Docker 按照Docker官網的步驟執(zhí)行(要注意自己系統的版本號)https://docs.docker....
    半生不熟_閱讀 606評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發(fā)現璃搜,斷路器拖吼,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • 今天,與一位朋友說笑这吻。她對我說有關于男生的話題吊档,然后我就笑話說:你一天到晚談論的都是男生。突然我想起來唾糯,說了一句:...
    miss琴先生閱讀 366評論 0 1
  • 窮是分程度的怠硼,也是分種類的鬼贱。一種是身窮,另一類則是心窮香璃。心窮是骨子里的这难,是根植在內心里的潛在病毒。 身窮久了葡秒,心便...
    Ji_Ahn閱讀 288評論 0 0