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

效果图

相关推荐
xuxigifxfh3 分钟前
HJ5 进制转换
java·开发语言·华为机考
denlaku4 分钟前
JDK 12 新特性详解
java·开发语言
用户094248568038 分钟前
第28章:JDK容器感知、cgroup与云原生JVM参数治理
java·jvm
鬼手点金9 分钟前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
Nebula_g9 分钟前
JavaSE拓展:可变参数
java·开发语言·算法·安全·javase·可变参数
念越27 分钟前
初中语数英答题与竞赛平台
java·数据库·spring boot
知守观31 分钟前
一个半天需求干了三天:代码腐化的五个信号与自查命令
java·后端·代码规范
代码山河1 小时前
Java学习路线图:2026年最新版,从入门到架构师
java·学习·架构·教程·面向对象·项目
anew___1 小时前
《从零手写操作系统 (30):环境变量与进程上下文——export/unset与继承语义》
java·开发语言·网络·jvm·算法
jason成都1 小时前
rtklib_java项目新增模块:rtklib-research与rtklib-stream功能详解
java·gnss·rtklib·rtklib_java