docke 安装rap_RAP2:使用docker镜像进行构建,启动部署

1,关于RAP2

昨天研究了下 rap 发现是个和swagger的类似的api 管理工具。

界面感觉上很老,使用的是java开发的,还是使用Struts2 +hibernate 开发的。

https://blog.csdn.net/freewebsys/article/details/80271649

今天研究了下 rap2 ,并且最近也在研究 nodejs,发现这个使用的全是 node开发的。

再加上docker是非常的方便。决定使用docker进行基础的镜像构建。

rap2 是两个部分开发的,前后端分离:

rap2-delos: 后端数据API服务器,基于Koa + MySQL + Redis

rap2-dolores: 前端静态资源,基于React

需要编译两个镜像,一起启动才行。使用node写了一个后端,和一个前段。

rap2 没有官方的镜像。还需要自己打个镜像。

2,基础服务mariadb和redis

docker run -itd --name mariadb -v `pwd`/mysql:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=mariadb -p 3306:3306 mariadb:latest

docker run -itd --name redis -p 6379:6379 redis:latest

数据使用mariadb,然后把数据放在当前位置创建个 mysql 文件夹里面。

重新命名了下,一个叫mariadb ,一个叫 redis

然后创建数据:

docker exec mariadb mysql -uroot -pmariadb -e 'CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci' #查看是否创建了库。 docker exec mariadb mysql -uroot -pmariadb -e 'show databases' Database RAP2_DELOS_APP information_schema mysql performance_schema

3,编译rap2-delos服务端

Dockerfile-delos:

FROM node:alpine

RUN echo -e "http://mirrors.aliyun.com/alpine/latest-stable/main\n\ http://mirrors.aliyun.com/alpine/latest-stable/community" > /etc/apk/repositories

#set timezone

RUN apk update && apk add tzdata && \

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \

echo "Asia/Shanghai" > /etc/timezone && \

rm -rf /root/.cache

RUN npm install -g cnpm --registry=https://registry.npm.taobao.org && \

apk update && apk add curl git

RUN mkdir /app && cd /app && \

git clone https://github.com/thx/rap2-delos.git && cd /app/rap2-delos && \

cnpm install && sed -i "s/localhost/mariadb/g" src/config/config.dev.ts && \

sed -i "s/password: ''/password: 'mariadb'/g" src/config/config.dev.ts && \

sed -i "s/redis: {/redis: {host: 'redis'/g" src/config/config.dev.ts && \

cnpm run build

WORKDIR /app/rap2-delos

ENTRYPOINT ["cnpm","run","dev"]

最后在用 cnpm 启动。

编译&启动,使用 –link 链接了,mariadb数据库,redis。rap2-delos

这个服务需要这两个。

docker build -f ./Dockerfile-delos -t rap2-delos:node-alpine .

docker run --rm -itd --name delos --link mariadb:mariadb \

--link redis:redis -p 8080:8080 rap2-delos:node-alpine

#创建数据库,之后初始化数据,再修改admin密码:

docker exec delos cnpm run create-db

docker exec -it mariadb mysql -uroot -pmariadb --databases RAP2_DELOS_APP

然后执行更新 admin密码:

MariaDB [RAP2_DELOS_APP]> UPDATE `RAP2_DELOS_APP`.`Users` SET `password`='14e1b600b1fd579f47433b88e8d85291' WHERE `id`='100000000';

4,编译rap2-dolores服务端

再编译前端界面,使用 react 做的。

Dockerfile-dolores:

FROM node:alpine

RUN echo -e "http://mirrors.aliyun.com/alpine/latest-stable/main\n\ http://mirrors.aliyun.com/alpine/latest-stable/community" > /etc/apk/repositories

#set timezone

RUN apk update && apk add tzdata && \

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \

echo "Asia/Shanghai" > /etc/timezone && \

rm -rf /root/.cache

RUN npm install -g cnpm --registry=https://registry.npm.taobao.org && \

apk update && apk add curl git python make g++

RUN mkdir /app && cd /app && \

git clone https://github.com/thx/rap2-dolores && cd /app/rap2-dolores && \

sed -i "s/rap2api\.taobao\.org/localhost:8080/g" src/config/config.prod.js && \

cnpm install && cnpm rebuild node-sass && cnpm run build && \

cnpm install -g serve

WORKDIR /app/rap2-dolores

ENTRYPOINT ["serve","-s","build"]

进行编译和启动:

docker build -f ./Dockerfile-dolores -t rap2-dolores:node-alpine .

docker run --rm -itd -p 5000:5000 rap2-dolores:node-alpine

一共需要 4 个镜像才可以启动:

5,登录系统

登录系统之后,还是好看的,使用react还是很好看的。

比之前的java版本好看的不是一点点,而且界面可以操作,修改功能还很多。

很好用,很方便。界面也很好看。

http://localhost:5000/

邮箱: admin@rap2.com

密码:123456

必须修改mysql数据库,之后才能登录。

6,总结

rap2 界面功能和 rap1 差不多,可以直接使用2了。无非就是node安装大家不熟悉。

现在使用docker 大大的简化了这个构建流程。可以启动了。

再修改下数据库,admin密码就可以登录了。

使用还是非常方便的。接下来研究上面的使用方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值