docker执行java的jar包

方法一:使用jar包构造容器

将jar包放在/data/service/jar目录下

执行

bash 复制代码
docker run -d --restart=always --network portainer_network -p 9163:9163 -v /data/service/jar:/data/service/jar --name paofu-server openjdk:8 java -jar /data/service/jar/paofu.jar

方法二:使用DockerFile构造镜像文件

在此目录下/data/service/jar,创建Dockerfile文件

Dockerfile

bash 复制代码
FROM openjdk:8
MAINTAINER xzxz
ADD river.jar river.jar
# COPY application.yml application.yml
EXPOSE 9164
ENTRYPOINT ["java", "-jar", "river.jar"]
bash 复制代码
FROM: 基础镜像,基于jdk8镜像开始
MAINTAINER:作者
ADD:将jar文件添加(复制)到镜像内,river.jar源jar文件,river.jar复制得到的jar文件。
COPY: 将应用的配置文件也拷贝到镜像中。
EXPOSE:声明端口
ENTRYPOINT:docker启动时,运行的命令,这里容器启动时直接运行jar服务。
在添加或复制文件到镜像中时,如果不指定目标路径,则默认将文件添加到容器的/路径下。

构造镜像文件

bash 复制代码
docker build -f /data/service/jar/Dockerfile . -t river-server:boot
bash 复制代码
river-server: 镜像的名称
boot: 镜像的tag,如果不写,则默认为latest
.: 这个.一定不能忘记,最后的.代表本次执行的上下文路径

执行(注意网络一定要使用同一个)

bash 复制代码
docker run -d --restart=always --network portainer_network --name river-server  -p 9164:9164 river-server:boot

效果图

相关推荐
IT小白杨5 分钟前
eBay多账号如何应对关联判定:主体、收款、IP、环境四层配置清单一次讲清
java·网络·网络协议·tcp/ip·自动化·指纹浏览器
無a伟1 小时前
RabbitMq高级特性:TTL,死信队列,延迟队列
java·分布式·rabbitmq
自律最差的编程狗1 小时前
Ubuntu下Docker部署Ollama 轻量模型
linux·ubuntu·docker
长谷深风1111 小时前
Agent 跑了 30 分钟宕机,如何从断点继续?
java·大数据·人工智能·ai·大模型·memory·aiagent
慧都小妮子1 小时前
DevExpress Java 文档处理 API 免费 CTP:PDF、PowerPoint、条码与跨平台部署
java·pdf·powerpoint·devexpress·文档处理·条码生成
泡海椒1 小时前
告别反射低效:JQuick-Java ASM动态调用链性能优化实战
java·python·性能优化
土司大王1 小时前
LeetCode 17 电话号码的字母组合:Java 回溯模板、多叉决策树与复杂度分析
java·leetcode·决策树
CoderYanger2 小时前
前端基础——JavaScript(WebAPI)代码案例
java·开发语言·前端·javascript·css·前端框架·html5
wdfk_prog2 小时前
大型 Docker 镜像导出导入工程化:可靠性、磁盘与压缩
运维·docker·容器
Nuanyt2 小时前
JUC常见核心知识梳理02 AQS ReentrantLock CAS 原子类 线程池
java