快速部署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
即可访问