#RUN yum -y update
#把分割过的jdk1.8安装文件复制到工作目录
COPY ./jdkrpm-* $WORK_PATH/
#用本地分割过的文件恢复原有的jdk1.8的安装文件
RUN cat $WORK_PATH/jdkrpm-* > W O R K P A T H / WORK_PATH/ WORKPATH/JDK_RPM_FILE
#本地安装jdk1.8,如果不加后面的yum clean all,就会报错:Rpmdb checksum is invalid
RUN yum -y localinstall W O R K P A T H / WORK_PATH/ WORKPATH/JDK_RPM_FILE; yum clean all
#把hbase文件夹复制到工作目录
COPY ./$HBASE_PACKAGE_NAME $WORK_PATH/hbase
#把collector文件夹复制到工作目录
COPY ./$COLLECTOR_PACKAGE_NAME W O R K P A T H / WORK_PATH/ WORKPATH/COLLECTOR_PACKAGE_NAME
#把web文件夹复制到工作目录
COPY ./$WEB_PACKAGE_NAME W O R K P A T H / WORK_PATH/ WORKPATH/WEB_PACKAGE_NAME
#把pinpoint的初始化数据文件复制到工作目录
COPY ./$PINPOINT_HBASE_INIT_DATA_NAME $WORK_PATH/
#删除jdk分割文件
RUN rm $WORK_PATH/jdkrpm-*
#删除jdk安装包文件
RUN rm W O R K P A T H / WORK_PATH/ WORKPATH/JDK_RPM_FILE
#赋读权限
RUN chmod a+r $WORK_PATH/hbase/conf/hbase-env.sh
#赋读权限
#RUN chmod a+r $WORK_PATH/hbase/conf/hbase-site.xml
#配置hostname
RUN echo HOSTNAME=master>>/etc/sysconfig/network
#定义环境变量
ENV JAVA_HOME=/usr/java/$JDK_PACKAGE_FILE/
ENV HBASE_HOME=$WORK_PATH/hbase/
ENV PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:HBASE_HOME/bin:$PATH
EXPOSE 60010
EXPOSE 18080
EXPOSE 28080
在Dockerfile所在目录下执行以下命令可以构建本地镜像,上述所有材料也要放在这个目录:
docker build -t bolingcavalry/centos67-hbase126-pinpoint163-server:0.0.1
pinpoint-agent,材料列表
-
linux操作系统,无特殊要求;
-
tomcat,例如:7.0.77;
-
jdk1.8;
-
修改tomcat-users.xml的配置,添加账号信息,使tomcat支持在线部署应用;
-
pinpoint-agent包;
-
tomcat的catalina.sh修改,添加pinpoint相关参数;
开始准备pinpoint-agent的材料
制作pinpoint-agent所需的材料我已经全部上传到git上,欢迎大家下载,地址是:git@github.com:zq2599/pinpoint163-agent.git
下面说一下当初是如何准备这些材料的:
关于1、2,tomcat的官方镜像就满足我们的要求:tomcat:7.0.77-jre8;关于3,下载好jdk1.8.0_144安装包,制作镜像文件的时候直接本地安装;关于4,准备一个修改好的tomcat-user.xml文件,制作镜像的时候用力来覆盖掉原本tomcat/conf目录下的同名文件即可;关于5,将编译好的pinpoint-agent文件夹准备好,制作镜像的时候复制过去即可,注意pinpoint.config文件的内容要修改,profiler.collector.ip对应的值是pinpoint-server对应的link参数的alias;关于6,准备一个修改好的catalina.sh文件,制作镜像的时候用力来覆盖掉原本tomcat/bin目录下的同名文件即可,和原有的catalina.sh相比,增加了以下内容:
CATALINA_OPTS=“$CATALINA_OPTS -javaagent:/usr/local/work/pinpoint-agent-1.6.3/pinpoint-bootstrap-1.6.3-SNAPSHOT.jar”
CATALINA_OPTS=“ C A T A L I N A O P T S − D p i n p o i n t . a g e n t I d = CATALINA_OPTS -Dpinpoint.agentId= CATALINAOPTS−Dpinpoint.agentId=PINPOINT_AGENT_ID”
CATALINA_OPTS=“ C A T A L I N A O P T S − D p i n p o i n t . a p p l i c a t i o n N a m e = CATALINA_OPTS -Dpinpoint.applicationName= CATALINAOPTS−Dpinpoint.applicationName=PINPOINT_APPLICATION_NAME”
pinpoint-agent镜像的Dockerfile
关于镜像文件的Dockerfile,如下所示,关键位置都加了注释,就不多说了:
docker image for pinpoint agent
VERSION 0.0.1
Author: bolingcavalry
#基础镜像
FROM tomcat:7.0.77-jre8
#作者
MAINTAINER BolingCavalry zq2599@gmail.com
#定义工作目录
ENV WORK_PATH /usr/local/tomcat/conf
#定义catalina.sh文件目录
ENV CATALINA_PATH /usr/local/tomcat/bin
#定义agent工作目录
ENV AGENT_WORK_PATH /usr/local/work
#定义agent文件夹名称
ENV AGENT_PACKAGE_NAME pinpoint-agent-1.6.3
#定义要替换的文件名
ENV USER_CONF_FILE_NAME tomcat-users.xml
#定义要替换的server.xml文件名
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
金三银四马上就到了,希望大家能好好学习一下这些技术点
学习视频:
大厂面试真题:
添加下面V无偿领取!(备注Java)**
[外链图片转存中…(img-rtDI74VF-1711132156155)]
最后
金三银四马上就到了,希望大家能好好学习一下这些技术点
学习视频:
[外链图片转存中…(img-Gw696No6-1711132156155)]
大厂面试真题:
[外链图片转存中…(img-eSgc9Pgq-1711132156156)]