maven 官方地址: 官方地址
下載maven,shdd7-200
# cd /opt/src
# wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
# mkdir /data/nfs-volume/jenkins_home/maven-3.6.1-8u232
# tar -zxf apache-maven-3.6.1-bin.tar.gz -C /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/
# cd /data/nfs-volume/jenkins_home/maven-3.6.1-8u232
# mv apache-maven-3.6.1/* ./
# rm -rf apache-maven-3.6.1/
初始化maven配置:
# vi /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/conf/settings.xml
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
制作dubbo微服務底包鏡像:JAVA運行時環境的底包
# docker push stanleyws/jre8:8u112
# docker tag fa3a085d6ef1 harbor.od.com/public/jre:8u112
# docker push harbor.od.com/public/jre:8u112
創建Dockerfile:
# cd /data/dockerfile/
# mkdir jre8
# cd jre8
# vi Dockerfile
FROM harbor.od.com/public/jre:8u112 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\ echo 'Asia/Shanghai' >/etc/timezone ADD config.yml /opt/prom/config.yml ADD jmx_javaagent-0.3.1.jar /opt/prom/ WORKDIR /opt/project_dir ADD entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"]
創建Dockerfile所需文件:
# vi config.yml
---
rules:
- pattern: '.*'
下載jmx_javaagent,監控jvm信息:
# wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar -O jmx_javaagent-0.3.1.jar
創建entrypoint.sh:使用exec 來運行java的jar包,能夠使腳本將自己的pid 為‘1’ 傳遞給java進程,避免docker容器因沒有前台進程而退出。並且不要加&符。
# vi entrypoint.sh
#!/bin/sh M_OPTS="-Duser.timezone=Asia/Shanghai -javaagent:/opt/prom/jmx_javaagent-0.3.1.jar=$(hostname -i):${M_PORT:-"12346"}:/opt/prom/config.yml" C_OPTS=${C_OPTS} JAR_BALL=${JAR_BALL} exec java -jar ${M_OPTS} ${C_OPTS} ${JAR_BALL}
執行權限:
# chmod u+x entrypoint.sh
執行docker build:base倉庫自行創建,權限公開
# docker build . -t harbor.od.com/base/jre8:8u112