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