寫在前面
我們將直接開始部署node和持續(xù)集成,前面的環(huán)節(jié)docker 認(rèn)識(shí)學(xué)習(xí),可以直接在官網(wǎng)上學(xué)習(xí)查閱
部署準(zhǔn)備
我們用一個(gè)最簡(jiǎn)單的栗子開始哈,編寫啟動(dòng)文件app.js
#在文件位置code . 打開vscode,當(dāng)然啦,其他的編輯器也ok的
code .
npm init -y
npm i koa koa-router -S
# app.js
const Koa = require('koa')
const Router = require('koa-router')
const app =new Koa()
const router = new Router()
router.get('/',async(ctx,next)=>{
ctx.body = 'hello docker'
})
app.use(router.routes()).use(router.allowedMethods())
app.listen(3000,()=>{
console.log(`服務(wù)端啟動(dòng)成功,server:3000`)
})
Dockerfile
新建 Dockerfile文件
# 我們的程序基于那個(gè)鏡像
# FORM <image>:<tag>
FORM node:10.5.0
# 切入目錄
WORKDIR /app
# 拷貝文件 全部拷貝到app這個(gè)文件夾下
COPY . /app
# 執(zhí)行命令 安裝依賴
RUN npm install
#容器對(duì)外暴露的端口號(hào)
EXPOST 3000
# 容器啟動(dòng)入門
CMD npm run dev
到這一步了,我們的準(zhǔn)備工作算是完成,下面開始把我們寫的代碼打包成一個(gè)新的鏡像文件
docker build
在我們項(xiàng)目位置輸入下面命令,docker會(huì)根據(jù)Dockerfile文件把我們的栗子生成一個(gè)鏡像,這個(gè)地方的.代表是當(dāng)前位置的Dockerfile文件
docker built -t qzlb/koa-demo .
查看我們的koa-demo鏡像文件
docker images

docker images
通過(guò)docker run 運(yùn)行容器
docker run -d -p 3000:3000 --name koa-app qzlb/koa-demo
docker ps 查看我們正在運(yùn)行的容器

docker ps
在谷歌中輸入127.0.0:3000,顯示文案hello docker,那么到這里我們的第一篇算是結(jié)束啦 ,可以看出用docker 是真的很方便了,持續(xù)集成和部署更多的內(nèi)容,我們下篇繼續(xù)哈