docker 部署 node初探
2019-01-21 本文已影响0人
有梦想的民工
写在前面
我们将直接开始部署node和持续集成,前面的环节docker 认识学习,可以直接在官网上学习查阅
部署准备
我们用一个最简单的栗子开始哈,编写启动文件app.js
#在文件位置code . 打开vscode,当然啦,其他的编辑器也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(`服务端启动成功,server:3000`)
})
Dockerfile
新建 Dockerfile文件
# 我们的程序基于那个镜像
# FORM <image>:<tag>
FORM node:10.5.0
# 切入目录
WORKDIR /app
# 拷贝文件 全部拷贝到app这个文件夹下
COPY . /app
# 执行命令 安装依赖
RUN npm install
#容器对外暴露的端口号
EXPOST 3000
# 容器启动入门
CMD npm run dev
到这一步了,我们的准备工作算是完成,下面开始把我们写的代码打包成一个新的镜像文件
docker build
在我们项目位置输入下面命令,docker会根据Dockerfile文件把我们的栗子生成一个镜像,这个地方的.代表是当前位置的Dockerfile文件
docker built -t qzlb/koa-demo .
查看我们的koa-demo镜像文件
docker images
通过docker run 运行容器
docker run -d -p 3000:3000 --name koa-app qzlb/koa-demo
docker ps 查看我们正在运行的容器
docker ps
在谷歌中输入127.0.0:3000,显示文案hello docker,那么到这里我们的第一篇算是结束啦 ,可以看出用docker 是真的很方便了,持续集成和部署更多的内容,我们下篇继续哈