码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2019-08-30 11:33:27      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:str   文件内容   mysq   工程   tac   let   net   dock   res   

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

项目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发布镜像,发布时指定你的变量值

 技术图片

 

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

标签:str   文件内容   mysq   工程   tac   let   net   dock   res   

原文地址:https://www.cnblogs.com/yechen2019/p/11433884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!