当前位置:网站首页 > Node.js开发 > 正文

docker基础(四)-制作镜像部署node后端项目

一,创建koa项目

npm init -y npm install --save koa 

安装相关的koa依赖

 npm install koa koa-router koa-body @koa/cors koa-json -S 
npm install koa-combine-routers -S 

1,新建api文件夹,里面写业务接口代码a.js

function first(ctx) { 
    ctx.body = { 
    message: "a业务的第一个接口" }; } function second(ctx) { 
    ctx.body = { 
    message: "a业务的第二个接口" }; } module.exports = { 
    first, second }; 

2,新建routes文件夹,里面新建两个文件

aRouter.js分发a业务的路由

const Router = require("koa-router"); const ayewu = require("../api/a"); const router = new Router(); router.get("/firstGet", ayewu.first); router.get("/secondGet", ayewu.second); module.exports = router; 

routes.js整合路由

const combineRoutes = require("koa-combine-routers"); const aroutes = require("./aRouter"); module.exports = combineRoutes(aroutes); 

3,index.js作为项目入口

const koa = require("koa"); const app = new koa(); const router = require("./routes/routes"); app.use(router()); app.listen(3001); 

4,根目录运行node ./index.js

在这里插入图片描述

5,修改package.json

 "scripts": { 
    "start": "node index.js" }, 

二,拉取node镜像

docker pull node 

在这里插入图片描述

三,编写 Dockerfile 将 koa应用 Docker 化

#使用14.15.0的node版本作为运行软件 FROM node:14.15.0 #将此目录作为工作目录 WORKDIR /usr/src/app #复制本目录下的package文件(源文件)到工作目录(目标目录) COPY package*.json ./ #在工作目录执行npm install  RUN npm install #将本本录下所有文件复制到目标目录 COPY . . #EXPOSE 指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务。 EXPOSE 3001 #命令行执行npm run start CMD [ "npm", "start" ] 

构建镜像的时候 node_modules 的依赖直接通过 RUN npm install 来安装,项目中创建一个 .dockerignore文件来忽略一些直接跳过的文件:

node_modules npm-debug.log 

然后运行构建命令

docker build -t nodewebserver . 

该命令将koa项目镜像化。
在这里插入图片描述

四,启动 NodeServer 容器

基于刚刚构建的 NodeWebServer 镜像 启动一个名为 NodeServer 的容器来提供接口服务3001端口,并映射宿主的5000端口:

docker run -p 5000:3001 -d --name nodeserver nodewebserver 

在这里插入图片描述
于是浏览器访问接口:
在这里插入图片描述

到此这篇docker基础(四)-制作镜像部署node后端项目的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 使用git commit时‘“node“‘ 不是内部或外部命令,也不是可运行的程序2024-11-29 18:27:07
  • mac上nvm切换node版本无效2024-11-29 18:27:07
  • 使用node自动化创建文件及其模板2024-11-29 18:27:07
  • node-sass安装不上的问题2024-11-29 18:27:07
  • Node学习(四)-npm概述——使用npm安装第三方模块之全局安装、本地局部安装2024-11-29 18:27:07
  • 安装node(安装node.js)2024-11-29 18:27:07
  • 安装node js(安装nodejs教程)2024-11-29 18:27:07
  • nodejs安装及其配置环境变量(node.js配置环境变量)2024-11-29 18:27:07
  • node安装npm -v错误(node安装后npm不能用)2024-11-29 18:27:07
  • nvm安装node后npm(nvm安装nodejs)2024-11-29 18:27:07
  • 全屏图片