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發布鏡像,發布時指定你的變量值

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM