当前位置: 首页 > news >正文

docker在java项目中打成tar包

docker在java项目中打成tar包

1、首先安装一个docker desktop

2、mvn install项目后,建立一个自己的dockerfile

这里我以我的代码举例,from +镜像,这里你也能打包好一个镜像的基础上,from+打好的镜像,这里我们用openjdk默认的镜像。

COPY ./target/*.jar app.jar: 这个命令将当前目录下./target/中的所有以.jar结尾的文件复制到Docker容器中,并重命名为app.jar。这通常用于将应用程序的可执行JAR文件复制到容器内,以便在容器中运行该应用程序。

EXPOSE 8081 17504 8096: 这个命令指示Docker容器打开指定的网络端口,以允许外部的请求进入容器。在这种情况下,容器将打开三个端口:8081、17504和8096。这些端口号可以根据你的应用程序的需要进行配置,以便允许外部访问容器中的应用程序或服务。
在这里插入图片描述


FROM openjdk:11
COPY ./target/*.jar app.jar
EXPOSE 8081 17504 8096
ENTRYPOINT [ "java", "-server", "-jar", "/app.jar",\"--video.resource.dir=${WEB_RESOURCE:/home/op/Record}",\"--video.master.recordpath=${RECORD_RESOURCE:/home/op/Record}",\"--video.cplusplus.CplusplusRecordStatusPath=${RECORD_STATUS_RESOURCE:http://localhost:8088/api/master/CplusplusRecordStatusPath}",\"--root.spaceleft.percent=${ROOT_SPACELEFT_PERCENT:6}",\"--video.cplusplus.CplusplusSnapShotPath=${SNAPSHOT_RESOURCE:http://localhost:8088/api/master/CplusplusRecordStatusPath}",\"--video.cplusplus.startCplusplusRecordPath=${START_RECORD_RESOURCE:http://localhost:8088/api/master/CplusplusRecordStatusPath}",\"--video.cplusplus.stopCplusplusRecordPath=${STOP_RECORD_RESOURCE:http://localhost:8088/api/master/CplusplusRecordStatusPath}",\"--video.cplusplus.path=${CPLUSPLUS_RESOURCE:http://player-service:8080/video}",\"--video.cplusplus.SgtNmrgPath=${CPLUSPLUS_SGTNMRGPATH:http://video-sgtNmrg-service:8080/sgtNmrg}",\"--video.cplusplus.SgtNmrgTaskStatus=${CPLUSPLUS_SGTNMRGPATHSTATUSPATH:http://video-sgtNmrg-service:8080/taskStatus}",\"--video.cplusplus.cplusplusSgtNmrgTaskCancel=${CPLUSPLUS_TASKCANCELPATH:http://video-sgtNmrg-service:8080/cancelTask}",\"--video.cplusplus.cplusplusExportCancel=${CPLUSPLUS_EXPORTCANCELPATH:http://export-folder-service:8080/cancelTask}",\"--video.cplusplus.exportpath=${CPLUSPLUS_EXPORTPATH:http://export-folder-service:8080/export}",\"--server.servlet.session.timeout=${SERVLET_SESSION:3600}",\"--working.sendDirectionMessageToClient=${SEND_DIRECTION_INTERVAL:30000}",\"--directionAndRecordStatus.interval=${DIRECTION_RECORD_INTERVAL:1000}",\"--video.cplusplus.statuspath=${CPLUSPLUS_STATUSPATH:http://export-folder-service:8080/progress-value}",\"--init.wait=${INIT_WAIT:30}"]

3、如何生成镜像

删除原先的镜像

docker rmi -f web:dev

建立镜像

docker build -t web:dev .

转化为tar包

docker save -o service-web.tar web:dev

后续上传到服务器,服务器上安装docker后,任意位置

docker load -i service-web.tar

观察镜像状态

docker ps

注意:
application.yml与这个docker打包无关

server:port: 8081servlet:context-path: /api/padsession:timeout: 3600
springdoc:api-docs:enabled: truepath: /api-docsswagger-ui:path: /swagger-ui.html
management:metrics:tags:app: myappexport:prometheus:enabled: true
netty:# 重新连接时间间隔(单位:秒)interval: 4# 处理线程数thread-number: 1endpoint:# Web指令生成服务web:port: 17504
init:# 初始化等待时间(单位:秒)wait: 30

相关文章:

docker在java项目中打成tar包

docker在java项目中打成tar包 1、首先安装一个docker desktop 2、mvn install项目后,建立一个自己的dockerfile 这里我以我的代码举例,from 镜像,这里你也能打包好一个镜像的基础上,from打好的镜像,这里我们用openj…...

No175.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...

【网安AIGC专题10.19】论文6:Java漏洞自动修复+数据集 VJBench+大语言模型、APR技术+代码转换方法+LLM和DL-APR模型的挑战与机会

How Effective Are Neural Networks for Fixing Security Vulnerabilities 写在最前面摘要贡献发现 介绍背景:漏洞修复需求和Java漏洞修复方向动机方法贡献 数据集先前的数据集和Java漏洞Benchmark数据集扩展要求数据处理工作最终数据集 VJBenchVJBench 与 Vul4J 的…...

解决国外镜像无法访问导致的R包无法安装问题

我自己的方法: install.packages("vcd", repos "https://mirrors.tuna.tsinghua.edu.cn/CRAN/") R包安装镜像设置的三种方法:R包安装镜像设置的三种方法 - 简书 更新了Rstudio后,出现 unable to access index for rep…...

【2021集创赛】Robei杯一等奖:基于Robei EDA工具的隔离病房看护机器人设计

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 团队介绍 参赛单位:重庆交通大学 队伍名称:一丘之貉 指导老师:毕波 李艾星 参赛队员:郁航 张坤 秦衡 总决赛奖项:Robei杯一等奖…...

Python之函数-传实参的两种方式

Python之函数-传实参的两种方式 函数参数 函数在定义是要定义好形式参数,调用时也提供足够的实际参数,一般来说,形参和实参个数要一致(可变参数除外)。实参传参方式 1、位置传参 定义时def f(x, y, z), 调用使用 f(1, 3, 5)&am…...

Hive客户端和Beeline命令行的基本使用

本专栏案例数据集链接: https://download.csdn.net/download/shangjg03/88478038 1.Hive CLI 1.1 命令帮助Help 使用 `hive -H` 或者 `hive --help` 命令可以查看所有命令的帮助,显示如下: usage: hive-d,--define <key=value> Variable subsitution to ap…...

Ubuntu 22.04自动登录进入桌面

1.编辑gdm3配置文件 sudo vim /etc/gdm3/custom.conf 2.修改内容为 AutomaticLoginEnableTrue AutomaticLoginusername 3.查看和重启服务 # 查看服务状态 systemctl --user status gnome-remote-desktop.service # 重启服务 systemctl --user restart gnome-remote-deskt…...

C#__简单了解XML文档

/* XML(可扩展标记语言)&#xff1a;用于传输和存储数据 XML文档&#xff1a;树结构&#xff1b;包含根元素 XML元素&#xff1a;从开始标签到结束标签的部分 XML语法规则&#xff1a; 1、所有XML元素都必须有结束标签 …...

云游数智农业世界,体验北斗时空智能

今日&#xff0c;2023年中国国际农业机械展览会在武汉正式拉开帷幕&#xff0c;众多与会者云集&#xff0c;各类农机产品纷呈&#xff0c;盛况空前。 千寻位置作为国家北斗地基增强系统的建设与运营方&#xff0c;在中国国际农业机械展览会上亮相&#xff0c;以「北斗时空智能 …...

C# 递归算法使用简介_常用整理

一、递归简介 递归算法是一种直接或者间接调用自身函数或者方法的算法。 递归算法的实质是把问题分解成规模缩小的同类问题的子问题&#xff0c;然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效&#xff0c;它可以使算法简洁和易于理解。 递归本质是循环&a…...

[Python]unittest-单元测试

目录 unittest的大致构成: Test Fixture Test Case-测试用例 Test Suite-测试套件 Test Runner 批量执行脚本 makeSuite() TestLoader discover() 用例的执行顺序 忽略用例执行 skip skipIf skipUnless 断言 HTML测试报告 错误截图 unittest是python中的单元测…...

Jetpack:021-Jetpack中的滑动列表

文章目录 1. 概念介绍2. 使用方法2.1 函数参数2.2 列表成员 3. 示例代码4. 内容扩展5. 内容总结 我们在上一章回中介绍了Jetpack中底部导航栏相关的内容&#xff0c;本章回中主要介绍 滑动列表。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍…...

基于单片机的空气质量检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、主要内容二、系统方案设计2.1 系统方案设计2.2 主控制器模块选择 三、 系统软件设计4.1 程序结构分析4.2系统程序…...

论文阅读——InstructGPT

论文&#xff1a;Training_language_models_to_follow_instructions_with_human_feedback.pdf (openai.com) github&#xff1a;GitHub - openai/following-instructions-human-feedback 将语言模型做得更大并不能从本质上使它们更好地遵循用户的意图。例如&#xff0c;大型语…...

【表面缺陷检测】铝型材表面缺陷检测数据集介绍(含xml标签文件)

一、铝型材介绍 铝型材是一种由铝合金材料制成的&#xff0c;具有固定截面形状和尺寸的条形建材。由于其优良的物理性能和广泛的应用领域&#xff0c;铝型材在现代工业和生活中发挥着重要的作用。 1、铝型材的分类 根据截面形状的不同&#xff0c;铝型材可分为角铝、槽铝、工…...

我的学习:从本科到研究生的认识与实践经验总结

学习实践经历 18年 上大学以后&#xff0c;因为对计算机的喜爱和对未知编程技术的好奇和探索&#xff0c;选择了从零开始学习程序设计&#xff0c;经过实践&#xff0c;选择了转专业到计算机科学与技术&#xff0c;开始了我的计算机学习之路。 19年 因为想要拓宽自己的专业能力…...

云游长江大桥,3DCAT实时云渲染助力打造沉浸化数字文旅平台

南京长江大桥是中国第一座自主设计建造的双层公路铁路桥&#xff0c;也是世界上最早的双层公路铁路桥之一。它不仅是一座桥梁&#xff0c;更是一座历史文化的见证者和传承者。它见证了中国人民的智慧和奋斗&#xff0c;承载了中国社会的变迁和发展。 如何让这座不可移动的文物…...

【音视频|PCM】PCM格式详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

行为型模式-行为型模式

在模板模式中&#xff0c;一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 意图&#xff1a;定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...