首页 > frps server端配置_Docker 快速搭建 mock-server

frps server端配置_Docker 快速搭建 mock-server

86dc09ce280d02b8ab36ddb071cafccc.png

项目目前选型是前后端分离开发,其中前端使用 AntDesign pro。

根据和一线工程师沟通,引入 mock 技术搭建 json-server,可以快速模拟调用后端接口,实现增删查改以及复杂的业务逻辑。不用等后端开发完毕,配合 rap2 接口管理系统,前后端统一约束,而且前端不用手工造数:可以从配置好正则的接口生成(来自 rap2 接口服务器的支持)。

根据和一线工程师沟通,引入 mock 技术搭建 json-server,可以快速模拟调用后端接口,实现增删查改以及复杂的业务逻辑。不用等后端开发完毕,配合 rap2 接口管理系统,前后端统一约束,而且前端不用手工造数:可以从配置好正则的接口生成(来自rap2接口服务器的支持)。

外网准备

目前 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:alpinecontainer_name: json-serverrestart: alwaysvolumes: - ./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.jsworking_dir: /usr/src/appports:- 20000:20000command: "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 镜像的。

实战

还是那几步:导入镜像—>启动—>验证;

导入镜像

[dev@pma03 ~]# cd docker-images && docker load -i node9-alpine.tar
[dev@pma03 docker-images]# docker images | grep node

启动

[dev@pma03 ~]# cd docker-project/mock-alpine
[dev@pma03 mock-alpine]# docker-compose up -d

一般第一次启动使用 ”docker-compose up” 命令查看输出,如果报错,及时处理。正常启动后可以 ”ctrl + c” 停止服务,然后用 ”docker-compose up -d” 后台启动即可。

验证

开发服务器上,

[dev@pma03 mock-alpine]# docker ps

查看是否正常启动 json-server 容器,端口映射是否正常;也可以 ”docker logs json-server” 查看输出日志。

来到内网云桌面(假设服务器IP是10.10.10.10),

c:Userkch> curl 10.10.10.10:20000

搞定,发邮件通知相关人等。

参考

  • 使用docker-composer 部署 nodejs 应用
  • Docker Compose 配置文件详解

docker+k8s

a6992a4934be241c3f1d7a964e68e991.png

dec7f09c82cd8c961cfc880cbf5e209d.png

讲师:GY 老师

10年一线软件开发经验,先后经历了传统安全公司,以及多家互联网公司;在安全开发方面,曾开发过 Linux 防火墙、web 应用防火墙、Linux 安全内核加固,基于大流量的 Web 安全威胁分析等项目;在互联网公司工作时,曾基于 DPDK 高性能网络开发框架开发过基于全流量的网络流量分析平台和基于 Sflow 网络流量分析平台,基于 Golang 开发 SmartDNS 等;开发语言也是从C -> python -> golang 的转变过程?现从事基于 K8S 和 Docker在私有云平台建设方面的研发工作;具备丰富的Linux系统开发经验、网络开发经验以及项目管理经验;目前开发工作 90+% 都在用 Golang,Golang 是一门简洁、高效、强大且灵活的编程语言。

对此感兴趣的朋友可以留言或私信我

更多相关:

  • MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:27场讲座(4h 19m) |大小解压后:2.35 GB Unity 2D游戏开发终极指南 你会学到: 学习使用Unity TileMap绘制您的世界 掌握初学者C#概念,包括sin...

  • 大二快结束,从大二初开始接触项目的工程开发,到现在也差不多一年了。之前一直在用c# 结合winform开发一些简单的桌面应用,也看过一些是实验室学长们用c#和其他多种技术结合 开发出来的系统, 接触过其源代码,为深入了解也曾阅读过试着了解内部实现的机制。在进行项目开发之前,带着我们的学长一直在和我们强调编程规范的重要性,并且给我们分析...

  • 开发板是开发和学习嵌入式技术的主要硬件设备,开发板的型号和种类很多,目前流行的是基于S3C6410 ARM11架构的开发板,S3C6410是由三星公司推出的一款低功耗,高性价比的RISC处理器,它基于ARM11内核,可广泛应用于移动电话和通妖魔化处理等领域。OK6410开发板基于三星公司最新的ARM11处理器S3C6410,拥有强大...

  •       最后这几章感觉上更多是从软件完成整体上来讲的。比如说技术、方法等。       在我看来,其实一个团队一直坚持一种好的、先进的方法是不可少的。如果一个优秀的团队刚愎自用,只随着成员们喜好发展,那不能长久。比如说,在开发软件工程课程的大项目时,我们团队也在学习着敏捷开发方法,虽然我们没有严格按照它的形式或流程,但是我们运用了...

  • 二叉搜索树的编码和解码描述: 编码:即将一个二叉搜索树编码,节点数值转换为字符串 解码:即将一个字符串解码,数值转换为对应的二叉搜索树的节点 过程导图如下: 针对性编码实现如下: /*数字转字符串*/ void change_num_to_string(int val, string &tmp) {string buf;whil...

  • 二叉搜索树又名二叉排序树。 大概简略的思维导图如下,方便记忆特性 基本二叉搜索树创建过程如下 /*数据结构如下*/ typedef struct tree {int data;struct tree *left = NULL;struct tree *right = NULL; }Tree,*TreeNode;/*Node 为二...

  • Linux安装Nodejs       阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载。    我这边下载的是:https://npm.taobao.org/mirrors/node/v8.2.1/node-v8.2.1-linux-x64.tar.gz         ...

  • 1. HDFS Architecture 一种Master-Slave结构。包括Name Node, Secondary Name Node,Data Node Job Tracker, Task Tracker。JobTrackers: 控制全部的Task Trackers 。这两个Tracker将会在MapReduce课程里...

  • 下载Nodejs插件,下载zip压缩包后解压链接: http://pan.baidu.com/s/1hsBk60k 密码: jrcv打开Sublime Text3,点击菜单“首选项(N)” =>“浏览插件(B)”打开“Packages”文件夹,并将第1部的Nodejs文件夹剪切进来打开文件“Nodejs.sublime-build”,...

  • 经常我们在测试接口的返回报文的时候,可能是存在于不同网页的跳转过程中,但是浏览器默认的设置是只要一跳转页面,上一个页面的请求记录就没了,是不是很烦人,有时候我们还有以迅雷不及掩耳盗铃之势把浏览器的接口监听按钮暂停掉,或者截屏,非常的难受,于是这样设置一下,切换页面的跳转情况下,接口记录依旧会保存了  ...

  • 《团队合作大坑合集》_←你挚爱的强哥→的博客-CSDN博客1、百分号无限循环小数2、小数四舍五入计算错误3、写死了年份导致跨年无法选择最新年份4、悄悄修改内外网访问限制导致外网接口不能访问5、定位索引城市的地理坐标,定位到了同名的其他城市6、更新包的时候没传完就关电脑7、前后端绑定字段不统一,字段类型不统一...https://s-z...

  • 文章目录1. 基本的多态实现2. 空接口与断言3. Go接口的最佳实践...

  • lambada 表达式实质上是一个匿名方法,但该方法并非独立执行,而是用于实现由函数式接口定义的唯一抽象方法使用 lambda 表达式时,会创建实现了函数式接口的一个匿名类实例可以将 lambda 表达式视为一个对象,可以将其作为参数传递1. 函数式接口 函数式接口是仅含一个抽象方法的接口,但可以指定 Object 定义的任何公有...

  • 接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。 接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构。   声明: 接口类型是由一组方法签名定义的集合 type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 )...