一,创建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
于是浏览器访问接口:
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/11000.html