Docker 部署 jar 项目

news2024/12/28 20:53:47

文章目录

    • 1、上传jar包
    • 2、新建 Dockerfile 文件
    • 3、新建 deploy.sh 脚本(创建并运行)
    • 4、新建 upgrade.sh 脚本(更新)

1、上传jar包

在这里插入图片描述

2、新建 Dockerfile 文件

添加jar包及修改端口

# 基础镜像
FROM java:8
# 添加jar包
ADD service-xxx-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=GMT+8","-jar","-jar","/app.jar"]
# 设置端口
EXPOSE 7004

3、新建 deploy.sh 脚本(创建并运行)

更改 service-xxx 为 对应 容器名称。

启动命令:sh deploy.sh

#!/bin/sh
cur_dir=$(cd `dirname $0`; pwd)

ip=$1
export ip
cd ${cur_dir}
docker build -t service-xxx .

cd ${cur_dir}
echo "启动service-xxx容器"

docker run -itd \
	--net host \
--name service-xxx \
-v ${cur_dir}/log:/service-xxx \
--restart always service-xxx
docker exec -ti service-xxx ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone

4、新建 upgrade.sh 脚本(更新)

更改 service-xxx 为 对应 容器名称。

启动命令:sh upgrade.sh

#!/bin/sh
basedir=$(cd `dirname $0`; pwd)
docker cp ${basedir}/service-xxx-0.0.1-SNAPSHOT.jar  service-xxx:/app.jar
echo "cp service-xxx-0.0.1-SNAPSHOT.jar success"
docker restart service-xxx
echo "restart service-xxx docker success"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/697243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百度智能车竞赛丝绸之路智能车设计与编程实现控制

一、项目简介 本项目现已基于鲸鱼机器人开发套件对其整体外形进行设计,并且对应于实习内容——以“丝绸之路”为题,对机器人各个功能与机器人结构部分进行相关设计与调整。主要可以实现“车道线巡检”“音乐交际”、“城堡检测”、“翻山越岭”。 本项…

Java使用策略模式和工厂模式来消除冗余的if-else语句(UML类图+案例+提供Gitee源码)

前言:在最近的后端开发中,多多少少会发现有很多if-else语句,如果条件过多则会造成整体代码看起来非常臃肿,这边我就举一个我在实际开发中的例子,来进行阐述这两种模式在实际开发中我是如何运用的。 目录 一、工厂模式…

把Jar打包为Maven 把jar打包为maven 将java项目打包为maven 将Java项目打包为Maven

把Jar打包为Maven 把jar打包为maven 将java项目打包为maven 将Java项目打包为Maven 自己写了一个通用SDK Jar包,但是现在的项目都是Maven项目,需要把Jar打包为Maven格式,输出到本地Maven仓库,在项目中可以引用查看Maven是否安装打…

nginx进行反向代理

Nginx是一个开源的高性能Web服务器和反向代理服务器。它最初是由Igor Sysoev在2004年开发的,现在由一个全球性的社区维护和支持。 Nginx的主要特点包括: 高性能:Nginx使用事件驱动模型,可以处理高并发请求,具有出色的…

A* 算法研究(附 Python / C++ 实现)

A* 算法研究 参考 A*寻路算法详解 #A星 #启发式搜索 路径规划之 A* 算法 最短路搜索-从Dijkstra到Best-First再到A-Star 路径规划算法学习笔记(一):A*算法 A*算法寻路(C代码实现) 《基于A*算法的自动泊车全局路径规划…

恒生电子联合恒生聚源发布数智金融新品,聚焦大模型技术金融业务应用

6月28日,恒生电子和旗下子公司恒生聚源正式发布基于大语言模型技术打造的数智金融新品,金融智能助手光子和全新升级的智能投研平台WarrenQ。此外,恒生电子金融行业大模型LightGPT也首次对外亮相,并公布最新研发进展。 恒生电子董…

升级Win10后多了个恢复分区,有什么用

很多用户从Win7/Win8/Win8.1升级到Win10之后发现电脑硬盘上多出了一个“恢复分区”,64位系统下这个分区大小在450MB左右。那么为什么会多出这样一个分区,这个分区又是干什么的,能不能删除呢?下面以MBR硬盘情况为例来说明。 1.全盘…

MySQL数据库 SQL语言命令总结 数据类型、运算符和聚合函数汇总

数据库:存储数据的仓库,有组织的进行存储数据。SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。常用的关系型数据库管理系统:Oracle、MySQL、Microsoft SQL Server等。 Oracle是大型收费数据库&…

初识express/路由/中间件

路由的概念 模块化路由 中间件(要有输入输出) 简化版本 全局生效中间件 局部生效中间件 注意事项 中间件分类 内置中间件,解析请求体/url-encoded 自定义中间件 使用querystring模块解析请求体数据 编写接口 ​​​​​​​

x86_64(intel64、amd64)和ARM64的区别以及发展

文章目录 区别引用 区别 ARM64架构 ARM 公司研发的,用的是精简指令集(追求节能,低功耗)。通常用于手机、平板等CPU,目前笔记本电脑也会采用ARM64构架的CPU,比如mac m1就是arm64(查看命令:uname…

智能佳—LoCoBot WX250 6自由度

(用于科研与教学的ROS智能车) LoCoBot是用于映射、导航和操纵(可选)等ROS研究的智能车,研究人员、教育工作者和学生都可以使用LoCoBot专注于高级代码的开发,而不是专注硬件和构建低级代码。通过开放的源代码…

EasyExcel实现指定列自定义导出

效果展示 全部导出 自定义导出 代码实现 1.引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.1</version> </dependency> 2.实体类 Data public class User {Exc…

vue PC端完成电子签名

最近接到一任务&#xff0c;有一个功能&#xff0c;重来没有遇到过。就是电子签名 看了原型其他基本都是对接口、写表单&#xff0c;难度不大&#xff0c;先把电子签名给攻克了起。 因为项目是vue 所有使用了 vue-esign 组件 1. 安装依赖 npm install vue-esign --save2.使用…

C++中的关联容器map下标运算符[]使用分析

最近使用到C中的map&#xff0c;发现一个问题&#xff0c;如果一个键不存在时&#xff0c;下标运算符会创建一个新的元素&#xff0c;其关键字为键。 一&#xff0c;问题重现 首先看一下问题描述&#xff1a; 本题要求读入 N 名学生的成绩&#xff0c;将获得某一给定分数的学生…

最细接口自动化测试yaml框架,超全详解,一篇打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 YAML文件介绍 YAM…

津津乐道设计模式 - 责任链模式详解(教你更优雅的处理商城下单业务)

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Linux系统的目录结构与基本命令

目录 Linux系统使用注意 Linux严格区分大小写 Linux文件"扩展名" Linux系统中常见的后缀名称&#xff1a; Linux中所有内容以文件形式保存 Linux中存储设备都必须在挂载之后才能使用 Linux系统的目录结构 Linux分区与Windows分区 Linux系统文件架构 Linux系…

用AI帮助小学一年级记住常用字

这几天娃就要一年级毕业放假了&#xff0c;感觉时间过得太快了。再开学就要上二年级&#xff0c;可汉字表上的区区三四百字&#xff0c;咋就那么的难读&#xff1f;难记&#xff1f;喊他们来认字&#xff0c;拉都拉不过来。哎&#xff0c;愁啊&#xff0c;替他们焦虑。突发奇想…

Docker发布VUE vhr微人事前端(Nginx 403 forbidden)

本文代码来源于&#xff08;感谢作者&#xff09; GitHub - lenve/vhr: 微人事是一个前后端分离的人力资源管理系统&#xff0c;项目采用SpringBootVue开发。 发布过程参考博主 【Docker】使用docker容器发布vue项目_docker 发布vue_TOP灬小朋友的博客-CSDN博客 1.创建Do…

食品空压机数据采集远程监控系统解决方案

食品行业是一个需求量大、安全标准高、竞争激烈的行业。随着人们消费水平的提升&#xff0c;对食品的品质、口味、营养、卫生等方面有了更高的要求。食品空压机是食品生产过程中不可缺少的设备&#xff0c;它可以提供稳定的压缩空气&#xff0c;用于食品加工、包装、运输等环节…