一稿黄、koa-generator創(chuàng)建koa2項目
1、npm install -g koa-generator
2跌造、找個喜歡的目錄
3杆怕、koa2 -e koa2demo
4、npm install
5壳贪、npm start
4陵珍、瀏覽器訪問 localhost:3000看效果
二、服務器安裝docker
三违施、打包項目鏡像
1互纯、拉取node鏡像至docker
默認已經(jīng)通過各種手段將項目文件夾拷貝到服務器想要的位置,并且已經(jīng)拉取了最新node
$ docker pull node
2磕蒲、編寫Dockerfile
1)在項目根目錄下留潦,創(chuàng)建 【Dockerfile】 文件,文件名必須是這個辣往,不能改兔院。
2)編輯Dockerfile文件,內(nèi)容如下
$ vi Dockerfile
FROM node
COPY . /home/demo
WORKDIR /home/demo
EXPOSE 3000
CMD ["npm","start"]
解釋下站削,第一個是指以node作為基礎運行
第二個坊萝,將Dockerfile所在目錄拷貝到docker里的 /home/demo 目錄下,這個目錄隨便定
第三個钻哩,指定這個鏡像運行時的目錄為 /home/demo屹堰,這個目錄同上即可
第四個,不知道街氢,據(jù)說沒什么用?
第五個扯键,運行這個鏡像時,執(zhí)行什么CMD語句珊肃,在這里就是簡單的項目啟動指令
修改完畢后
:w 保存
:q 退出
3荣刑、創(chuàng)建鏡像
在這個Dockerfile目錄下馅笙,執(zhí)行下面指令打包成docker鏡像
$ docker build -t demo .
語法格式是 docker build -t name:[version] .
(這最后一個英文的小數(shù)點一定要記著!厉亏!)
-t :指定要創(chuàng)建的目標鏡像名董习,自定義
. :Dockerfile 文件所在目錄,可以指定Dockerfile 的絕對路徑
創(chuàng)建完后執(zhí)行
$ docker images
查看鏡像上傳是否成功
4爱只、運行鏡像
$ docker run -d -p 3000:3000 demo
-d 表示后臺運行
-p 表示指定docker與服務器端口關(guān)系
demo 表示上一步打包鏡像時皿淋,鏡像的名稱,如果是latest則可以不帶版本號
5恬试、調(diào)用接口驗證程序是否正常運行
$ localhost:3000
四窝趣、意外插曲
1、centos連ifconfig等也沒有训柴,且虛擬機無法聯(lián)網(wǎng)哑舒。
解決方案:重新安裝centos,安裝時不要選擇最小配置
2幻馁、docker上運行正常洗鸵,但仍無法訪問
解決方案:由于防火墻沒設置允許進出的端口,所以外網(wǎng)無法訪問仗嗦,此處設置為3000端口膘滨,其他端口同理
$ firewall-cmd --zone=public --add-port=3000/tcp --permanent
刷新生效
$ firewall-cmd --reload