项目目前选型是前后端分离开发,其中前端使用 AntDesign pro。
根据和一线工程师沟通,引入mock技术搭建 json-server,可以快速模拟调用后端接口,实现增删查改以及复杂的业务逻辑。不用等后端开发完毕,配合 rap2 接口管理系统,前后端统一约束,而且前端不用手工造数:可以从配置好正则的接口生成(来自rap2接口服务器的支持)。
原计划引入Rap2后,将其作为 Json-server,尝试了下,只实现了查询,增删改没搞定,更不要说复杂逻辑了。可能是贪心了。还是要引入 Json-server 支持;
外网准备
目前 node 版本是 9.11,查看了 dockerhub,最新稳定版镜像也是这个版本;
下载镜像
ChinaDreams:Desktop kangcunhua$ docker pull node:alpine
ChinaDreams:Desktop kangcunhua$ docker images | grep node
导出镜像
ChinaDreams:Desktop kangcunhua$ docker save -o node9-alpline.tar node:alpine
撰写脚本
计划用 docker-compose 来管理,撰写 ”docker-compose.yml” 脚本来启动。
新建 docker-project 目录
ChinaDreams:docker-project kangcunhua$ mkdir mock-alpine && cd mock-alpine
ChinaDreams:docker-project kangcunhua$ vi docker-compose.yml
docker-compose.yml
version "3"
services:
json-server:
image: node:alpine
container_name: json-server
restart: always
volumes:
- ./custom:/usr/src/app/custom
- ./data:/usr/src/app/data
- ./node_modules:/usr/src/app/node_modules
- ./routes:/usr/src/app/routes
- ./auth.js:/usr/src/app/auth.js
- ./rule.js:/usr/src/app/rule.js
- ./server.js:/usr/src/app/server.js
working_dir: /usr/src/app
ports:
- 20000:20000
command: "node server.js"
注意:此处使用了一个新参数 working_dir,相当于 Dockerfile 里的 WORKDIR,来源于 docker-compose run 命令的参数;不加这个参数,提示“找不到 server.js”。
内网实战
将mock-alpine目录和node9-alpline.tar拷贝到内网。分别上传开发服务器docker-project和docker-images目录;
注,docker-project和docker-images目录是自己建立用来管理dcoker-compose脚本和docker镜像的。
实战
还是那几步:导入镜像—>启动—>验证;
导入镜像
[[email protected] ~]# cd docker-images && docker load -i node9-alpine.tar
[[email protected] docker-images]# docker images | grep node
启动
[[email protected] ~]# cd docker-project/mock-alpine
[[email protected] mock-alpine]# docker-compose up -d
一般第一次启动使用”docker-compose up”命令查看输出,如果报错,及时处理。正常启动后可以”ctrl + c”停止服务,然后用”docker-compose up -d”后台启动即可。
验证
开发服务器上,
[[email protected] mock-alpine]# docker ps
查看是否正常启动json-server容器,端口映射是否正常;也可以”docker logs json-server”查看输出日志。
来到内网云桌面(假设服务器IP是10.10.10.10),
c:\User\kch> curl 10.10.10.10:20000
搞定,发邮件通知相关人等。
本文由作者:蛮大人 ?授权发布
链接:https://opsdev.fun/2018/06/19/O1-8-50-Docker%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BAmock-server/#more
著作权归作者所有。
转载请联系作者获得授权。
51Reboot Docker+ K8s 课程
详情联系wechat:17812796384
原文地址:http://blog.51cto.com/51reboot/2331638