Docker构建启动jar包

ops/2025/3/13 22:50:59/

jar_0">Docker构建启动jar

jar_1">1、首先是把java服务打包成jar

mvn clean install '-Dmaven.skip.test=true' package -Pprod

这个命令的意思是,跳过测试,打包prod环境。

2、编写Dockerfile文件

# 拉取jdk8作为基础镜像
FROM registry.supos.ai/library/openjdk:8-jdk-stretch
# 添加jar到镜像并命名
ADD sup-gateway-0.0.1-SNAPSHOT.jar sup-gateway.jar
# 镜像启动后暴露的端口
EXPOSE 18000
# jar运行命令,参数使用逗号隔开
ENTRYPOINT ["java","-jar","sup-gateway.jar"]

FROM registry.supos.ai/library/openjdk:8-jdk-stretch 这个命令是要使用服务器上的jdk镜像,要改成自己服务器的jdk镜像。
先查一下,自己的镜像是什么。命令如下

docker images | grep jdk

image.png

这是我的镜像。
其他的命令就是关于jar包的一些,也要修改成自己的。
image.png

3、把这两个文件上传到服务器

怎么上传就略了,但是要都上传到一个文件夹下,像我这样。
image.png

4、构建镜像启动服务

cd 到上传的路径下
然后使用docker命令构建镜像:

docker build -t sup-gateway .

命令中有个 . 不要落下
sup-gateway表示镜像名称,最后的.表示Dockerfile在当前目录。

打包完成后查看镜像

docker images

image.png

使用docker run命令创建并运行容器:

docker run -d --name sup-gateway -p 18000:18000 -v /home/lims/images/face:/home/lims/images/face  sup-gateway

命令解释如下:
image.png

如果有容器被占用可以先删除。

docker rm -f sup-sys

启动完成,查看启动日志:

docker logs -f -t sup-gateway

jar日志启动成功,查看容器:

docker ps

image.png

访问,验证效果:
image.png


http://www.ppmy.cn/ops/165531.html

相关文章

Docker 数据持久化核心:挂载(Mounts)与卷(Volumes)的区别与选择指南

Docker 容器默认是无状态的 —— 这意味着容器停止后,其内部生成的数据也会随之消失。为了持久化保存数据或在容器间共享数据,Docker 提供了两种主要机制:挂载(Mounts)和卷(Volumes)。理解它们的…

UI自动化:poium测试库

以下是关于 poium 测试库 的详细介绍,涵盖其核心功能、使用方法及与原生 Selenium 的对比,帮助快速掌握这一工具: 1. poium 简介 定位:基于 Selenium 的 Page Object 模式增强库,专注于简化元素定位和页面操作。 核心…

Spring Cloud Alibaba 实战:Sentinel 保障微服务的高可用性与流量防护

1.1 Sentinel 作用 Sentinel 是阿里巴巴开源的一款 流量控制和熔断降级 框架,主要用于: 流量控制:限制 QPS,防止流量暴增导致系统崩溃熔断降级:当某个服务不可用时自动降级,避免故障扩散热点参数限流&…

超越限制:大模型token管理与优化实践

前言 在大型语言模型(LLM)的应用中,token数量的管理是一个核心挑战。无论是模型的输入限制、计算资源的分配,还是成本的控制,token计数都至关重要。然而,当调用超过预期范围时,我们该如何应对&…

C盘清理技巧分享:释放空间,提升电脑性能

目录 1. 引言 2. C盘空间不足的影响 3. C盘清理的必要性 4. C盘清理的具体技巧 4.1 删除临时文件 4.2 清理系统还原点 4.3 卸载不必要的程序 4.4 清理下载文件夹 4.5 移动大文件到其他盘 4.6 清理系统缓存 4.7 使用磁盘清理工具 4.8 清理Windows更新文件 4.9 禁用…

IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析

IEC61850标准是电力系统自动化领域唯一的全球通用标准。IEC61850通过标准的实现,使得智能变电站的工程实施变得规范、统一和透明,这大大提高了变电站自动化系统的技术水平和安全稳定运行水平。 在 IEC61850 标准体系中,ResvTms(r…

Redis 事务底层实现

Redis 事务的底层实现主要基于以下机制: 1.事务的启动与命令排队 Redis 使用MULTI命令启动一个事务。当客户端发送MULTI命令后,Redis 会进入事务模式。在此模式下,客户端发送的所有命令不会立即执行,而是被放入一个队列中&#x…

STM32 内置的通讯协议

数据是以帧为单位发的 USART和UART的区别就是有没有同步功能 同步是两端设备有时钟连接,异步是没时钟连接,靠约定号的频率(波特率)接收发送数据 RTS和CTS是用来给外界发送已“可接收”或“可发送”信号的,一般用不到…