如何把打包好的 Java Jar 包做成 Docker 镜像

如何把打包好的 Java Jar 包做成 Docker 镜像

_

📌 碎碎念(为什么写这篇)

刚把项目打包成了一个 Fat JAR,准备扔到 Linux 服务器上跑起来。 以前图省事总是随手往 /tmp 目录下一扔,但 /tmp 隔段时间就会被系统自动清理,文件丢了挺麻烦。这次规范了一点点,自己建了个 /app/java-app/ 专门放项目。

顺便把这次上传 JAR 包、写 Dockerfile、成功构建镜像的流水账过程记录下来,方便以后复制粘贴命令。

🛠️ 1. 准备工作目录

在服务器上新建一个干净的目录,不再去挤 /tmp 丢垃圾了:

# 创建自定义的应用目录
mkdir -p /app/java-app

# 进去
cd /app/java-app

📦 2. 上传 Jar 包

直接在当前路径下,敲下:

rz

在弹出的窗口里选择本地打包好的 app.jar,直接上传到这个新目录里。

📄 3. 编写 Dockerfile

在当前路径下直接 vim Dockerfile,内容非常简单,就这几行:

FROM openjdk:17
LABEL author=yezhulingmeng
COPY app.jar /app.jar
ENTRYPOINT ["java","-jar","app.jar"]
EXPOSE 8219

简单大白话解释:

  • FROM openjdk:17:底座用的是官方大块头 OpenJDK 17。

  • LABEL:顺手给自己打个署名标签。

  • COPY:把刚才传上来的 app.jar 塞进容器的根目录下。

  • ENTRYPOINT:容器启动时自动帮我执行 java -jar app.jar

  • EXPOSE:告诉别人我这个服务用的是 8219 端口。

🚀 4. 执行构建(一气呵成)

确保在 /app/java-app 路径下,直接运行下面这行(别漏了最后那个点 .):

docker build -f Dockerfile -t myjavaapp:v1.0 .

等它刷刷刷跑完,最后看到 FINISHEDnaming to docker.io/library/myjavaapp:v1.0 就大功告成了!

ls 看一眼,这个小工作区非常干净:

root@loe-virtual-machine:/app/java-app# ls
Dockerfile  app.jar

🏁 顺手把容器跑起来

镜像有了,最后直接后台挂起运行:

docker run -d -p 8219:8219 --name my-backend-service myjavaapp:v1.0

一个最基础的 Java 镜像构建和运行流程就搞定了。

使用 Bitnami 镜像快速部署 Redis 主从集群 2026-06-10
Linux 纯手动安装 JDK 17 全程复盘(被 Oracle 背刺麻了) 2026-06-11

评论区