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

项目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发布的更多相关文章

  1. [Docker]Docker拉取,上传镜像到Harbor仓库

    需求 因为项目的需求,需要制作一个基于tomcat的镜像.那么前提就是,需要有tomcat的基础镜像. 怎么做 我的思路跑偏了,本来以为是需要将tomcat下载下来,然后通过docker命令,让它成为 ...

  2. 【原】Docker学习_Docker上传镜像至docker hub(4)

    构造镜像的两种方式:1.commit  2.Dockerfile Docker提供了一个docker commit命令,可以将容器的存储层保存下来成为镜像.换句话说,就是在原有镜像的基础上,再叠加上容 ...

  3. Docker 上传镜像

    文章首发自个人网站:https://www.exception.site/docker/docker-push-image 本文中,您将学习如何上传 Docker 镜像至 Docker Hub 上. ...

  4. Docker 创建镜像、修改、上传镜像

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Do ...

  5. java~gradle构建公用包并上传到仓库~使用私有仓库的包

    在新的项目里使用仓库的包 上一讲中我们说了java~gradle构建公用包并上传到仓库,如何发布公用的非自启动类的包到私有仓库,而这一讲我们将学习如何使用这些包,就像我们使用spring框架里的功能包 ...

  6. docker 私有仓库上传镜像,其他docker服务器从私有镜像下载

    <pre name="code" class="cpp">docker:/data# docker ps CONTAINER ID IMAGE CO ...

  7. docker部署mysql,nginx,php,并上传镜像到私有仓库

    前言 最近公司准备把现有环境全部搞成容器化,所以笔者就先了解了一下docker,并搞了一搞,并把自己搞的过程记录下来.话不多说直接开干 环境说明 Centos7 Docker version 18.0 ...

  8. [python](Docker SDK)上传镜像到私有仓库(tls、身份认证)

    (Docker SDK)上传镜像到私有仓库(tls.身份认证) API:https://docker-py.readthedocs.io/en/stable/ 环境:python:3.7.3 配置参数 ...

  9. 如何将docker 镜像上传到docker hub仓库

    如何将docker 镜像上传到docker hub仓库 目录 如何将docker 镜像上传到docker hub仓库 背景 1.注册docker hub账号 2.docker hub上创建仓库 3.d ...

  10. 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件

    概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...

随机推荐

  1. 东北某海滨城市的某高校的某分校区的校园网登录程序,(python3, 模拟浏览器的登入方式)

    前些年写过这个登录程序,过了几年系统有所升级,于是做了一定的修改. 新版本的校园网登录程序依然是模拟浏览器去登录校园网. Python3.7编写. #encoding:UTF-8 from urlli ...

  2. 【转载】 windows python3 安装 openai gym 的 atari_py

    版权声明:本文为CSDN博主「dai1056318647」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/dai ...

  3. aarch64架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本

    准备事项: 1. pytorch源码下载: 源码的官方地址: https://github.com/pytorch/pytorch 但是这里我们不能简单的使用git clone命令下载,因为pytor ...

  4. .NET电子邮件高效处理解决方案

    前言 在日常软件开发中,电子邮件处理是一个不可或缺的功能,无论是用户注册验证.通知推送还是日常的业务沟通,都离不开电子邮件的支持.今天大姚给大家分享2款.NET开源.高效.强大的.NET电子邮件处理库 ...

  5. Mybats写xml文件时传入参数为Integer类型的0被if标签判断为空bug

    当type = 0 时出现bug 不走这个条件 <if test='type != null and type!= ""' > and type = #{type} & ...

  6. 【图文安装教程】在docker中安装ES

    在docker中安装ES怎么安装?本文就教大家怎么安装 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联.这里先创建一个网络: docker ...

  7. pyinstaller 打包 win32ctypes.pywin32.pywintypes.error: (225, '', '无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。')

    背景: 使用python 写了一个程序,使用pyinstaller打包, 不使用-w --noconsole的命令打包隐藏命令行窗口时,是正常的, 但是使用-w或者--noconsole就会报错win ...

  8. chrome 被hao123 劫持处理

    打开chrome,就进入baidu.com/xxx,烦人,浏览器被劫持了XXXX 查注册表hao123,删除找到的 进入chrome设置,修改主页新标签页 装杀毒软件,查杀病毒 修改chrome名 等 ...

  9. CSS 实现滑动整个元素

    其实没什么难点,主要就是两个CSS属性 scroll-snap-type 这个是作用在包裹容器身上的. scroll-snap-align 这个是作用在被包裹容器身上的. 效果如下图所示: 代码如下: ...

  10. Mmdetection dataset pipline

    数据的加载顺序是上图(来自mmdetection官网)中的顺序进行,上图中只有一次padding,但是其实dataloader一共有两次padding,一次是pad,另外一次就是collect后,给模 ...