1.下载cat
cat 地址:https://github.com/dianping/cat
进入opt 创建cat文件夹
cd /opt/
mkdir cat
cd cat
下载cat
git clone https://github.com/dianping/cat.git
2.安装
2.1.安装docker-compose
wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64
chmod +x /usr/local/bin/docker-compose
再通过docker-compose version命令进行查看
2.2 Docker快速部署
说明
- 支持本机模式快速部署。
- docker/Dockerfile包含CAT依赖的环境,可以作为源码部署的参考。
- 默认的运行方式是集成了一个mysql镜像,可以修改为自己的mysql的详细配置。默认运行的mysql服务,将mysql数据挂载到了
docker/mysql/volume
中。
容器构建
cd docker
修改Dockerfile,由于tomcat和maven下载地址变了,需要修改版本号和下载地址
vi Dockerfile
替换原来的内容为下面内容
ENV TOMCAT_MAJOR_VERSION 7
ENV TOMCAT_MINOR_VERSION 7.0.94
RUN wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \
tar zxf apache-tomcat-*.tar.gz && \
mv apache-tomcat-${TOMCAT_MINOR_VERSION}/* . && \
rm -rf apache-tomcat-*
#MAVEN
ENV MAVEN_VERSION_MAJOR 3
ENV MAVEN_VERSION_MINOR 6.1
RUN wget http://mirror.bit.edu.cn/apache/maven/maven-${MAVEN_VERSION_MAJOR}/${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}/binaries/apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN tar xvf apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN rm apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN mv apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR} /usr/local/apache-maven
ENV M2_HOME=/usr/local/apache-maven
ENV M2=$M2_HOME/bin
ENV PATH=$M2:$PATH
CMD java -version && mvn -version
执行 docker-compose up
第一次运行以后,数据库中没有表结构,需要通过下面的命令创建表:
docker exec <container_id> bash -c "mysql -uroot -Dcat < /init.sql"
说明:<container_id>需要替换为容器的真实id。通过 docker ps 可以查看到mysql容器id
依赖配置说明
- datasources.xml
- CAT数据库配置,默认配置是mysql镜像,可以按需替换
- docker-compose.yml
- 通过docker-compose启动的编排文件,文件中包含cat和mysql。可以屏蔽掉mysql的部分,并且修改cat的环境变量,改为真实的mysql连接信息。
- client.xml
- CAT 初始化默认的路由列表,配置此文件可以将客户端数据上报指向到不同环境。
- datasources.sh
- 辅助脚本,脚本作用时修改
datasources.xml
,使用环境变量中制定的mysql连接信息。(通过sed命令替换)
- 辅助脚本,脚本作用时修改
3.设置开机启动
docker update --restart=always cat
docker update --restart=always cat-mysql
4.开启端口
firewall-cmd --zone=public --permanent --add-port=2280/tcp
firewall-cmd --zone=public --permanent --add-port=8080/tcp
5.访问