cat服务端部署:
1、下载cat源码进行打包,将{CAT_SRC}/cat-home/target/cat-alpha-3.0.0.war重命名为cat.war,或者直接找cat官方提供的打包好的cat.war包。
2、找一下cat项目里面的client.xml、datasources.xml和server.xml,并根据cat官网提示进行修改。
3、docker pull tomcat:8.5.40
4、找一个目录,把cat.war包、client.xml、server.xml、datasource.xml都放到目录下,并且在该目录下创建并编辑Dockerfile文件,内容如下:
from tomcat:8.5.40
MAINTAINER zhaoyujie@yunzujia.com
RUN rm -rf /usr/local/tomcat/webapps/*
COPY cat.war /usr/local/tomcat/webapps
RUN mkdir -p /data/appdatas/cat
RUN mkdir -p /data/applogs/cat
RUN chmod -R 777 /data/
COPY client.xml /data/appdatas/cat
COPY datasources.xml /data/appdatas/cat
COPY server.xml /data/appdatas/cat
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 8080
EXPOSE 2280
5、在tomcat镜像基础上新建cat的镜像,就是在Dockerfile文件所在目录下执行
docker build -t cat:3.0 .
6、安装CAT的数据库
数据库的脚本文件 script/CatApplication.sql
注意1:一套独立的CAT集群只需要一个数据库(之前碰到过个别同学在每台cat的服务端节点都安装了一个数据库)
注意2:数据库编码使用utf8mb4,否则可能造成中文乱码等问题
7、找个没用到的端口
lsof -i:8083
8、启动cat容器
docker run -d -p 8083:8080 -p 2280:2280 cat:3.0
注意:如果选择使用主机的8083端口,那么在配置client.xml文件里面的http-port时要配成8083、server.xml文件里的remote-servers也要配成8083。
================================================
cat客户端部署:
新建/data/appdatas/cat、/data/applogs/cat目录,并且把client.xml放到/data/appdatas/cat/目录下。
因为cat客户端的项目也是部署在docker容器中,所以需要在容器中执行以上操作。可以通过挂载的方式实现,容器目录挂载到主机目录下。