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

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作npm的web项目镜像的步骤如下: 1. 创建一个Dockerfile文件,并在其中指定基础镜像为alpine:latest。\[2\] 2. 使用RUN命令安装node.jsnpm。可以使用apk add nodejs && apk add npm命令来安装。\[2\] 3. 使用RUN命令安装项目的依赖项。可以使用RUN npm install命令来安装项目的依赖项。\[1\] 4. 使用COPY命令将项目文件复制到镜像的工作目录中。可以使用COPY命令将项目文件复制到/var/workspace/be目录中。\[2\] 5. 使用CMD命令设置镜像的启动命令。可以使用CMD命令设置启动命令为node ./index.js。\[3\] 6. 构建镜像。可以使用docker build命令来构建镜像。 7. 运行镜像。可以使用docker run命令来运行镜像。 通过以上步骤,你可以制作一个包含npm的web项目镜像。 #### 引用[.reference_title] - *1* *3* [docker基础)-制作镜像部署node后端项目](https://blog.csdn.net/weixin_42349568/article/details/125174579)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [构建完整项目docker镜像实例(前端,后端,数据库)](https://blog.csdn.net/weixin_43334673/article/details/104534836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值