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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • docker 查看端口被占用进程[通俗易懂]

    docker 查看端口被占用进程[通俗易懂]以下找到相应进程或容器后,可以将对于进程或容器停止或删除现在希望启动一个dockercontainer,把container中的80端口映射到宿主机。[root@cmdb2~]#dockerrun-p80:80-it9d1c954badc7/bin/bash[root@cmdb2~]#dockerpsCONTAINERIDIM…

  • docker下Jenkins的部署和升级「建议收藏」

    docker下Jenkins的部署和升级「建议收藏」获取Jenkins镜像dockersearchjenkinsdockerpulljenkinsdockerimages创建映射目录mkdir-p/var/jenkins_homechown-R1000:1000/var/jenkins_home启动jenkins镜像sudodockerrun-itd-p8080:8080-p50000:50000–namejenkins–privileged=true-v/home/jenkins_

  • 基于Docker运行弹性集群的五个关键点之:运行高可用模式

    基于Docker运行弹性集群的五个关键点之:运行高可用模式

  • CentOS8 Docker 端口映射

    CentOS8 Docker 端口映射概念端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。例:我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。使用使用:dockerrun–namecontainer-name:tag-d-p服务器端口:Doc

    2022年10月18日
  • mysql docker 端口号_如何修改 docker 容器中 mysql 的端口号

    修改docker中MySQL配置文件,在mysqld项目下新增port=3307配置[mysqld]port=3307federatedmax_connections=200max_allowed_packet=64Mpid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=…

  • linux上安装Docker(非常简单的安装方法)

    linux上安装Docker(非常简单的安装方法)最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗!Docker的三大核心概念:镜像、容器、仓库镜像:类似虚拟机的镜像、用俗话说就是安装文件。容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。仓库:类似代码仓库,是Docker集中存放镜像文件的场所。简单介绍一

发表回复

您的电子邮箱地址不会被公开。

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