docker+node快速搭建一个服务接口

最近在做一个需求时,需要搭一个字符串加密的在线接口,本次采用node编写接口,docker部署应用

node和docker的安装过程就不概述了,需要注意的是docker默认拉取镜像会很慢,建议配置国内的镜像仓库,如阿里的容器服务阿里容器服务
在这里插入图片描述

1. 编写接口

参加一个test文件夹,在文件夹下安装需要的包,前3个包为koa框架的包,crypto-js为加密组件的包

mkdir test
cd test
npm install koa
npm install koa-router
npm install koa-body
npm install crypto-js

创建一个index.js文件,编写如下代码

const Koa = require("koa");
const Router = require("koa-router");
const body = require("koa-body")
const CryptoJs = require('crypto-js')

const app = new Koa();
const router = new Router();

router.post("/encrypt", async function(ctx) {
    // 获取post请求的body参数
    var status = {content : ctx.request.body}
    console.log(status.content)
    bodyContent = status.content
    // 将js对象转为json,测试方法
    var word = JSON.stringify({
       "distributor": ""
    })
    var infoValue = "test"
    // 设置响应状态码和数据
    ctx.response.body = {"info": infoValue}
    ctx.status = 200
})

app.use(body())
app.use(router.routes()).use(router.allowedMethods());
// 监听本地3000端口
app.listen(3000);

编写完运行node index.js,访问127.0.0.1:3000/encrypt

2. 将项目文件夹上传到服务器,本地docker运行可跳过这一步

通过命令行上传文件夹到远程服务器

3. 编写Dockerfile文件

在刚刚的test文件夹下创建Dockerfile文件

sudo touch Dockerfile

在Dockerfile编写如下脚本

FROM node
# FROM node:10
WORKDIR /app
RUN npm install
COPY . /app
EXPOSE 3000
CMD   node ./index.js

在test文件夹下执行下面的命令,根据Dockerfile构建镜像

sudo docker build -t encryption:v1 . 

执行成功后可看到构建好的镜像
在这里插入图片描述

4. 运行镜像
sudo docker run --name test3 -d -p 3040:3000 encryption:v1

在这里插入图片描述

运行成功后可通过127.0.0.1:3040/encryption访问接口

5. docker命令
docker images 查看镜像
docker ps -a 查看所有的容器
docker stop 容器id 关闭容器
docker start 容器id 开启容器
docker rm 容器id 删除容器
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值