快速部署Redis云管理平台-CacheCloud

CacheCloud 项目地址:https://github.com/sohutv/cachecloud

今日在项目架构探索的过程中,想尝试使用Redis云管理平台CacheCloud,我首先想到的就是docker镜像了,但是在hub.docker.com中并没有找到官方提供的镜像,于是查看项目主页,也并未提供Dockerfile。于是决定使用release版本的war包快速构建一个。

下载官方编译好的war文件:https://pan.baidu.com/s/1nvTv90l (不要问我为什么在百度云,我也是在项目wiki中找到的)

先将文件夹中的cachecloud.sql文件导入到数据库中,并创建相关用户,

如果导入失败,打开sql文件查找service_time字段,将默认值0000-00-00 00:00:00修改为:CURRENT_TIMESTAMP再导入即可

创建:/data/docker/cachecloud/Dockerfile

FROM java:8

EXPOSE 8585

ADD cachecloud-bin-1.2.tar.gz /opt/

ENV JAVA_TOOL_OPTIONS '-Xmx4g -Xms4g -Xss256k -XX:MaxDirectMemorySize=1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=40 -XX:+PrintGCDateStamps -Xloggc:/opt/cachecloud-web/logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/cachecloud-web/logs/java.hprof -XX:+DisableExplicitGC -XX:-OmitStackTraceInFastThrow -XX:+PrintCommandLineFlags -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.util.Arrays.useLegacyMergeSort=true -Dfile.encoding=UTF-8'

WORKDIR /opt/cachecloud-web/

ENTRYPOINT java -server -jar /opt/cachecloud-web/cachecloud-open-web-1.0-SNAPSHOT.war --server.port=8585

构建命令:

docker build -t hub.itmx.xyz/tc/cachecloud:1.2 .

创建数据库连接文件: /data/docker/cachecloud/jdbc.properties

cachecloud.db.url = jdbc:mysql://192.168.1.253:3306/cachecloud
cachecloud.db.user = cachecloud
cachecloud.db.password = cachecloud 
cachecloud.maxPoolSize = 20
jdbc.driver = com.mysql.jdbc.Driver
jdbc.validationQuery = select 1 from dual

创建编排文件:/data/docker/cachecloud/docker-compose.yml

web:
  image: hub.itmx.xyz/tc/cachecloud:1.2
  restart: always
  ports:
    - "8585:8585"
  volumes: 
    - ./jdbc.properties:/opt/cachecloud-web/jdbc.properties:ro

运行并输出日志:

docker-compose up -d && docker-compose logs -f

在浏览器中输入http://IP:8585即可访问

评论