zoukankan      html  css  js  c++  java
  • 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发布镜像,发布时指定你的变量值

     

  • 相关阅读:
    java实现操作系统磁盘寻道先来先服务算法
    专业素养:发布文件,别忘了给出校验信息
    vue系列教程-08vue的动画和过渡效果
    vue系列教程-07vue动态绑定样式
    vue系列教程-06vue的事件处理
    vue系列教程-05vue常用指令
    vue系列教程-04vue数据处理和页面渲染
    vue系列教程-03vuejs的结构和生命周期
    vue系列教程-01第一个vue程序
    vue系列教程-02什么是mvvm和spa
  • 原文地址:https://www.cnblogs.com/yechen2019/p/11433884.html
Copyright © 2011-2022 走看看