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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker端口映射原理_docker修改端口映射

    docker端口映射原理_docker修改端口映射一、安装RabbitMQ[root@localhost~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTS

    2022年10月18日
    2
  • linux系统docker安装rabbitmq

    linux系统docker安装rabbitmq安装rabbitmq比较简单1.下载镜像dockerpullrabbitmq:managementrabbitmq:management含有web模块下载完成:2.运行镜像启动镜像dockerrun-d–hostnamedev-scrm–namerabbit-eRABBITMQ_DEFAULT_USER=rabbit-eRABBITMQ_DEFAULT_PASS=rabbit-p15672:15672-p5672:5672rabbitmq:m

    2022年5月24日
    49
  • docker里镜像用ipv6无法访问_虚拟服务器端口设置

    docker里镜像用ipv6无法访问_虚拟服务器端口设置前言我有一个朋友,他在Dev和Test服务器用Docker搭建了Redis供项目使用,然后今天Test环境的Redis端口访问不通了,在服务上可以正常连接,真是离了个大齐,让我们试试排查排查问题;正文端口检测lsof已确认在本地用telnetip6381访问不通,那就上服务上看看端口情况DevTestDev环境同时映射到Ipv6和Ipv4端口,Test环境仅映射到Ipv6,那基本上就可以断定是环境问题了容器状态dockerps既然端口映射

    2022年8月31日
    5
  • Docker 容器网络访问原理,SNAT和DNAT

    Docker 容器网络访问原理,SNAT和DNAT1 容器网络访问原理图 2 网络访问的过程图 4 DOCKERSNAT 与 DNAT5 容器访问外部实现 6 外部访问容器实现

    2025年6月28日
    3
  • docker启动mysql失败(闪退)原因

    docker启动mysql失败(闪退)原因创建好mysql之后容器之后可以连接后来修改了配置发现mysql启动不了dockerps-a查看发现mysql的状态一直是EXISTdockerstartmysql能成功启动(docker返回mysql)但是再查看dockerps发现还是没有启动起来大概可以知道就是docker启动之后又迅速关闭想起Docker容器后台运行,就必须有一个前台进程。否则就会自动关闭,大概推测是docker里的mysql没又起起来。想起刚刚修改了配置,可能是配置错了导致的。一看发现粘贴配置的时候格

    2022年9月2日
    6
  • docker新建镜像_docker基础镜像和项目镜像

    docker新建镜像_docker基础镜像和项目镜像Docker创建镜像、修改、上传镜像–创建镜像有很多方法,用户可以从DockerHub获取已有镜像并更新,也可以利用本地文件系统创建一个。一、创建镜像创建镜像有很多方法,用户可以从Do

    2022年8月2日
    11

发表回复

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

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