zoukankan      html  css  js  c++  java
  • kubernetes实战-交付dubbo服务到k8s集群(三)安装配置maven和java运行时环境的底包镜像

    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
  • 相关阅读:
    vue如何实现热更新
    vue项目与node项目分离
    vue如何实现热更新
    Vue项目SSR改造实战
    找工作Java面试 题搜集
    html5绘图笔记纪要
    HTML5实现绘制几何图形
    浅谈html5在vr中的应用
    浏览器三种事件处理的模型
    基于html5二个div 连线
  • 原文地址:https://www.cnblogs.com/slim-liu/p/11978435.html
Copyright © 2011-2022 走看看