Jar包发布Docker一键部署脚本

Jar包发布Docker一键部署脚本

自己随手写的脚本,如观看者想要取用请进行修改
脚本代码在下方,如需观看请关注

  • jar包与脚本在同一级目录
[root@localhost app]# pwd
/root/app
[root@localhost app]# ls
discovery-1.0.0.RELEASE.jar  update.sh
  • 执行脚本
[root@localhost app]# ./update.sh 
+-------------------------------------+
|          服务发布脚本               |
+-------------------------------------+
Sending build context to Docker daemon  39.9 MB
Step 1/4 : FROM java:8
 ---> d23bdf5b1b1b
Step 2/4 : ADD ./discovery-1.0.0.RELEASE.jar /data/discovery-1.0.0.RELEASE.jar
 ---> f18294092888
Removing intermediate container 0cb6159cb0d1
Step 3/4 : WORKDIR /data/
 ---> 3f473c8e5b8d
Removing intermediate container be3a72e6ed9c
Step 4/4 : CMD sh -c java -jar discovery-1.0.0.RELEASE.jar
 ---> Running in 801bcf06774c
 ---> d74cfbe3bdd8
Removing intermediate container 801bcf06774c
Successfully built d74cfbe3bdd8
7ebf9744f8e66d05353d46f477ab3334a06cd3c8c5aa902cb60744e62611f759
  • 查看容器运行状态
[root@localhost app]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
7ebf9744f8e6        discovery:latest    "sh -c 'java -jar ..."   35 seconds ago      Up 35 seconds       0.0.0.0:8761->8761/tcp   discovery
  • 访问测试
    在这里插入图片描述
    – 代码
#!/bin/bash
echo "+-------------------------------------+"
echo "| 服务发布脚本 |"
echo "+-------------------------------------+"
jar=`ls | grep jar$`
name=`ls | grep jar$ | awk -F '-1' '{print $1}'`
image=$name':latest'
dockerfile () {
   
cat > dockerfile <<EOF FROM java:8 ADD ./$jar /data/$jar WORKDIR /data/ CMD ["sh","-c","java -jar $jar"] EOF
}
images () {
   
docker build -t $image .
}
fabu () {
   
docker run -itd --name $name $image
}
clearfile () {
   
 rm -rf /app/dockerfile
}
dockerfile
images
if [ $name == discovery ]
then
 docker run -itd -p 8761:8761 --name $name $image
fi

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101843.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Neokylin-Server离线环境、跨主机、使用Docker部署PXC集群

    Neokylin-Server离线环境、跨主机、使用Docker部署PXC集群Neokylin-Server离线环境、跨主机、使用Docker部署PXC集群Neokylin-Server离线环境、跨主机、使用Docker部署PXC集群一、说明二、部署过程:1.切换root账号或所有语句加sudo;2.关闭6个节点防火墙(或打开端口);3.6个节点导入rpm包后安装基础环境:4.设置所有节点;5.启动docker并导入images;6.时间同步;7.etcd集群配置;8.部署flannel网络;9.n1-n3部署pxc;10.m1-m3部署Haproxy+Keepa

    2022年8月10日
  • docker启动mysql容器失败_docker容器

    docker启动mysql容器失败_docker容器什么是Docker?Docker是一种工具,它让容器创建,部署和运行应用程序变得更加容易。容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。安装DockerDesktop前往官方网站:www.docker.com/get-started根据操作系统,下载并安装对应的DockerDesktop。验…

    2022年10月5日
  • docker-compose搭建redis伪集群

    docker-compose搭建redis伪集群

    2021年8月4日
  • docker导出所有镜像_怎么把docker镜像复制出来

    docker导出所有镜像_怎么把docker镜像复制出来背景由于工作需要,要一次性导出机器上全部的镜像。导出命令:dockersave$(dockerimages–format'{{.Repository}}:{{.Tag}}’)-oallinone.tar

    2022年9月6日
  • centos7.6安装docker_docker自动部署多环境

    centos7.6安装docker_docker自动部署多环境前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月30日
  • Docker 离线安装_安装下载

    Docker 离线安装_安装下载Docker是在Linux容器里运行应用的开源工具,是一种轻量级的”虚拟机”。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。如下图,鲸鱼可以看作宿主机,而集装箱可以理解为相互隔离的容器。每个集装箱中都包含自己的应用程序

    2022年9月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号