• docker打包镜像,上传镜像仓库,使用rancher发布


    步骤一、首先将项目打包放在指定目录下

    项目jar包名称为  micro-app.jar

    步骤二、将jar包名称改为指定名称,执行命令   

    docker build -t micro-gateway:v1.4 .

    意义:执行当前目录下的dockerfile文件创建镜像,镜像的标签为  micro-gateway:v1.4

    dockerfile的文件内容为

    FROM 你的ip:你的端口/library/jdk8:v1.0  
    MAINTAINER 你的标识
    COPY ./restart.sh /restart.sh
    COPY ./micro-app.jar /micro-app.jar
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ  /etc/localtime && echo $TZ > /etc/timezone
    ENV NACOSADDRESS=""
    ENV NACOSPORT=""
    ENV REDISADDRESS=""
    ENV REDISPORT=""
    ENV MYSQLADDRESS=""
    ENV MYSQLNAME=""
    ENV MYSQLPASSWORD=""
    EXPOSE 31006
    WORKDIR /
    ENTRYPOINT ["/bin/sh","/restart.sh"]

    文件中的  NACOSADDRESS 等变量,对应spring boot 工程配置文件中的变量,yml配置文件的变量用${}修饰

    restart.sh文件的内容如下

    #!/bin/bash
    # Author     : **
    # Date       : **
    
    ps -ef|grep micro-app|grep -v grep|cut -c 9-15|xargs kill -9
    
    nohup java -Xms512m -Xmx1024m -XX:MaxPermSize=128m -Djava.net.preferIPv4Stack=true -jar micro-app.jar > log.out &
    
    sleep 2
    R=0
    tail -f log.out|while read line
            do      
                    ###tail -f  bug, double validate ###
                    b=`echo $line|grep "Tomcat initialized with port(s):"|wc -l`
                    if [ $b -eq 1 ];then
                            R=1 
                    fi          
                    a=`echo $line|grep "Tomcat started on port(s):"|wc -l`
                    if [ $a -lt 1 ];then
                            echo $line
                    else    
                            if [[ $R == 0 ]];then
                                    echo $line   
                            else    
                                    echo $line
                                    ps -ef | grep 'tail -f log.out' | grep -v grep | awk '{print $2}' | xargs kill -9
                            fi         
                    fi      
            done    
    echo 'tomcat start complete!!'
    exit

     步骤三、标记本地镜像,将其归入仓库

    docker tag micro-gateway:v1.4 你的仓库地址:你的仓库端口/servers/micro-gateway:v1.4

    步骤四、上传镜像到镜像仓库

    docker push 你的仓库地址:你的仓库端口/servers/micro-gateway:v1.4

    步骤五、使用rancher发布镜像,发布时指定你的变量值

     

  • 相关阅读:
    Android OpenSL ES 开发:OpenSL ES利用SoundTouch实现PCM音频的变速和变调
    Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据
    Android MediaPlayer SeekTo 在 8.0 版本上优化说明
    Android OpenSL ES 开发:Android OpenSL 介绍和开发流程说明
    Android NDK学习(七):NDK 编译支持 C++特有的库
    Hystrix浅谈
    RxJava
    Metrics介绍和Spring的集成
    Hystrix系列-5-Hystrix的资源隔离策略
    深度解析SpringMvc实现原理手写SpringMvc框架
  • 原文地址:https://www.cnblogs.com/yechen2019/p/11433884.html
Copyright © 2020-2023  润新知