天天看点

docker 安装pinpoint

1.设置java的版本,我这里统一用jdk8,当然在这之前肯定是要安装好mvn的

export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
           

2.拉取代码 安装整个pinpoint

git clone https://github.com/naver/pinpoint.git
cd pinpoint
mvn clean install
执行之后 会有一大推信息输出到终端
           

3.安装pinpoint-hbase

➜  pinpoint git:(master) ✗ cd hbase 
➜  hbase git:(master) ✗ export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
➜  hbase git:(master) ✗ mvn package                                                                          
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-hbase-distribution -SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-pinpoint-build-requirements) @ pinpoint-hbase ---
[INFO] 
[INFO] --- animal-sniffer-maven-plugin:1.15:check (ensure-java-1.6-class-library) @ pinpoint-hbase ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java16:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  s
[INFO] Finished at: --T18::+:
[INFO] Final Memory: M/M
[INFO] ------------------------------------------------------------------------
//这一步会创建docker 镜像 Building image naver/pinpoint-hbase:-SNAPSHOT
➜  hbase git:(master) ✗ mvn docker:build 
           

hbase Dockerfile

➜  docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/hbase/target/docker
➜  docker git:(master) ✗ cat Dockerfile 
FROM java:-jdk
ENV HBASE_HOME /opt/hbase/hbase-
ENV HBASE_REPOSITORY http://apache.mirrors.pair.com/hbase
ENV HBASE_SUB_REPOSITORY http://archive.apache.org/dist/hbase
ENV HBASE_VERSION 
ENV JAVA_HOME /usr/lib/jvm/java--openjdk-amd64
ADD /opt/hbase/hbase-create.hbase /opt/hbase/
ADD /opt/hbase/hbase-site.xml /opt/hbase/
RUN curl -fSL "$HBASE_REPOSITORY/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz" -o hbase.tar.gz || curl -fSL "$HBASE_SUB_REPOSITORY/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz" -o hbase.tar.gz
RUN tar xfvz hbase.tar.gz -C /opt/hbase
RUN rm -rf hbase.tar.gz
RUN cp /opt/hbase/hbase-site.xml /opt/hbase/hbase-$HBASE_VERSION/conf/hbase-site.xml
RUN $HBASE_HOME/bin/start-hbase.sh; sleep ; $HBASE_HOME/bin/hbase shell /opt/hbase/hbase-create.hbase; $HBASE_HOME/bin/stop-hbase.sh
EXPOSE     
ENTRYPOINT /opt/hbase/hbase-$HBASE_VERSION/bin/hbase master start
           

4.安装pinpoint-collector

➜  pinpoint git:(master) ✗ cd collector

➜  collector git:(master) ✗ export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
➜  collector git:(master) ✗ mvn package                                                                          
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-collector -SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-pinpoint-build-requirements) @ pinpoint-collector ---
....
[INFO] 
[INFO] --- animal-sniffer-maven-plugin:1.15:check (ensure-java-1.8-class-library) @ pinpoint-collector ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java18:
[INFO] 
[INFO] --- maven-war-plugin:2.6:war (default-war) @ pinpoint-collector ---
[INFO] Packaging webapp
[INFO] Assembling webapp [pinpoint-collector] in [/Users/xinzhiyun/pinpoint/collector/target/deploy]
[INFO] Processing war project
[INFO] Copying webapp resources [/Users/xinzhiyun/pinpoint/collector/src/main/webapp]
[INFO] Webapp assembled in [ msecs]
[INFO] Building war: /Users/xinzhiyun/pinpoint/collector/target/pinpoint-collector--SNAPSHOT.war
[INFO] Packaging classes
[INFO] Building jar: /Users/xinzhiyun/pinpoint/collector/target/pinpoint-collector--SNAPSHOT-classes.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  s
[INFO] Finished at: --T19::+:
[INFO] Final Memory: M/M
[INFO] ------------------------------------------------------------------------
....

 mvn docker:build
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-collector -SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- docker-maven-plugin:0.4.3:build (default-cli) @ pinpoint-collector ---
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/target/pinpoint-collector--SNAPSHOT.war -> /Users/xinzhiyun/pinpoint/collector/target/docker/assets/pinpoint-collector--SNAPSHOT.war
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/target/deploy/WEB-INF/classes/hbase.properties -> /Users/xinzhiyun/pinpoint/collector/target/docker/assets/hbase.properties
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/target/deploy/WEB-INF/classes/pinpoint-collector.properties -> /Users/xinzhiyun/pinpoint/collector/target/docker/assets/pinpoint-collector.properties
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/start-collector.sh -> /Users/xinzhiyun/pinpoint/collector/target/docker/usr/local/bin/start-collector.sh
[INFO] Building image naver/pinpoint-collector:-SNAPSHOT
Step / : FROM tomcat:-jre8
           

collector Dockerfile

➜  docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/collector/target/docker
➜  docker git:(master) ✗ cat Dockerfile 
FROM tomcat:8-jre8
ADD /assets/pinpoint-collector-1.7.0-SNAPSHOT.war /assets/
ADD /assets/hbase.properties /assets/
ADD /assets/pinpoint-collector.properties /assets/
ADD /usr/local/bin/start-collector.sh /usr/local/bin/
RUN chmod a+x /usr/local/bin/start-collector.sh
RUN rm -rf /usr/local/tomcat/webapps/*
RUN sed -i -e 's/8005/9005/' /usr/local/tomcat/conf/server.xml
RUN sed -i -e 's/8080/9080/' /usr/local/tomcat/conf/server.xml
RUN sed -i -e 's/8009/9009/' /usr/local/tomcat/conf/server.xml
RUN sed -i -e 's/8443/9443/' /usr/local/tomcat/conf/server.xml
RUN unzip /assets/pinpoint-collector--SNAPSHOT.war -d /usr/local/tomcat/webapps/ROOT
RUN rm -rf /assets/pinpoint-collector--SNAPSHOT.war
EXPOSE   
ENTRYPOINT ["/usr/local/bin/start-collector.sh"]
           

5.安装pinpoint-web

➜  collector git:(master) ✗ export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
➜ cd web
➜ mvn package
...
Tests run: , Failures: , Errors: , Skipped: 

[INFO] 
[INFO] --- animal-sniffer-maven-plugin::check (ensure-java--class-library) @ pinpoint-web ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java18:
[INFO] 
[INFO] --- maven-war-plugin::war (default-war) @ pinpoint-web ---
[INFO] Packaging webapp
[INFO] Assembling webapp [pinpoint-web] in [/Users/xinzhiyun/pinpoint/web/target/deploy]
[INFO] Processing war project
[INFO] Copying webapp webResources [/Users/xinzhiyun/pinpoint/web/target/main/webapp] to [/Users/xinzhiyun/pinpoint/web/target/deploy]
[INFO] Copying webapp resources [/Users/xinzhiyun/pinpoint/web/src/main/webapp]
[INFO] Webapp assembled in [ msecs]
[INFO] Building war: /Users/xinzhiyun/pinpoint/web/target/pinpoint-web--SNAPSHOT.war
[INFO] Packaging classes
[INFO] Building jar: /Users/xinzhiyun/pinpoint/web/target/pinpoint-web--SNAPSHOT-classes.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  s
[INFO] Finished at: --09T19::+:
[INFO] Final Memory: 29M/650M
[INFO] ------------------------------------------------------------------------
➜ mvn docker:build
           

web Dockerfile

➜  docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/web/target/docker
➜  docker git:(master) ✗ cat Dockerfile 
FROM tomcat:-jre8
ADD /assets/pinpoint-web--SNAPSHOT.war /assets/
ADD /assets/hbase.properties /assets/
ADD /assets/pinpoint-web.properties /assets/
ADD /usr/local/bin/start-web.sh /usr/local/bin/
RUN chmod a+x /usr/local/bin/start-web.sh
RUN rm -rf /usr/local/tomcat/webapps/*
RUN unzip /assets/pinpoint-web-1.7.0-SNAPSHOT.war -d /usr/local/tomcat/webapps/ROOT
RUN rm -rf /assets/pinpoint-web-1.7.0-SNAPSHOT.war
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/start-web.sh"]```

           

6.安装pinpoint-agent

cd agent
mvn package
mvn docker:build
           

agent Dockerfile

➜  docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/agent/target/docker
➜  docker git:(master) ✗ ll
total 
-rw-r--r--   xinzhiyun  staff   B     : Dockerfile
drwxr-xr-x   xinzhiyun  staff   B     : assets
drwxr-xr-x   xinzhiyun  staff   B     : usr
➜  docker git:(master) ✗ cat Dockerfile 
FROM alpine:
ADD /assets/pinpoint-agent/pinpoint-agent--SNAPSHOT.tar.gz /assets/pinpoint-agent/
ADD /usr/local/bin/configure-agent.sh /usr/local/bin/
RUN apk add --update bash
RUN cp -v /assets/pinpoint-agent/pinpoint.config /assets/pinpoint.config
RUN chmod a+x /usr/local/bin/configure-agent.sh
RUN rm /var/cache/apk/*
ENTRYPOINT ["/usr/local/bin/configure-agent.sh"]
VOLUME /assets/pinpoint-agent

           

7.最后一步

docker images

➜  docker git:(master) ✗ sudo docker images
Password:
REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
:/pinpoint/pinpoint-hbase       v1                b650010075         minutes ago       GB
:/pinpoint/pinpoint-agent       v1                b0d73916         minutes ago       MB
:/pinpoint/pinpoint-web         v1                bf08ed422         minutes ago       MB
:/pinpoint/pinpoint-collector   v1                d2ea3982bf4c         minutes ago       MB
tomcat                                           -jre8              a2fbbcebd67e         days ago           MB
alpine                                                            be345c901f         days ago          MB
mysql                                                             a8e1a5c0b2         weeks ago          MB
java                                             -jdk               d23bdf5b1b1b         months ago         MB
           
➜  pinpoint git:(master) ✗ sudo docker-compose up -d
pinpoint_pinpoint-agent_1 is up-to-date
pinpoint-mysql is up-to-date
pinpoint-hbase is up-to-date
Starting pinpoint-collector
pinpoint-web is up-to-date
           
➜  pinpoint git:(master) ✗ sudo docker ps 
CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS              PORTS                                                                               NAMES
ac62808f403        :/pinpoint/pinpoint-agent:v1       "/usr/local/bin/co..."    minutes ago      Up  minutes                                                                                            pinpoint_pinpoint-agent_1
ad9fc99b0d        :/pinpoint/pinpoint-web:v1         "/usr/local/bin/st..."    minutes ago      Up  minutes       :->/tcp                                                              pinpoint-web
cce95c095ff        :/pinpoint/pinpoint-collector:v1   "/usr/local/bin/st..."    minutes ago      Up  seconds       /tcp, :-->-/tcp, :-->-/udp        pinpoint-collector
b6b4fe99825f        mysql:                                             "docker-entrypoint..."    minutes ago      Up  minutes       :->/tcp                                                             pinpoint-mysql
fddb80b011a6        :/pinpoint/pinpoint-hbase:v1       "/bin/sh -c '/opt/..."    minutes ago      Up  minutes       :->/tcp, /tcp, /tcp, :->/tcp, /tcp   pinpoint-hbase
           

有图有真相

docker 安装pinpoint
docker 安装pinpoint