0

0

在Docker中如何构建可运行的Java镜像文件

P粉602998670

P粉602998670

发布时间:2025-10-25 12:09:02

|

446人浏览过

|

来源于php中文网

原创

准备Java应用:使用Maven或Gradle将项目打包为可执行JAR文件并验证本地运行。2. 编写Dockerfile:基于openjdk:17-jre-slim镜像,复制JAR文件并设置启动命令。3. 构建镜像:在Dockerfile目录执行docker build -t my-java-app .命令生成镜像。4. 运行容器:通过docker run -d -p 8080:8080 my-java-app启动容器并映射端口。5. 测试访问:浏览器访问http://localhost:8080确认应用正常运行。6. 部署扩展:可将镜像推送到Docker Hub或私有仓库用于生产部署。整个过程确保了Java应用的轻量、隔离与可移植性。

在docker中如何构建可运行的java镜像文件

在Docker中构建可运行的Java镜像,核心是将Java应用打包进一个轻量、独立且可移植的容器。关键步骤包括准备应用文件、编写Dockerfile、构建镜像和运行容器。以下是具体操作方法。

准备Java应用文件

确保你的Java项目已经编译成可执行的JAR包(如app.jar)。通常使用Maven或Gradle构建:

  • Maven:mvn clean package 生成JAR
  • Gradle:gradle build 生成JAR

确认JAR包位于项目根目录或指定输出目录中,并可通过java -jar app.jar本地运行成功。

编写Dockerfile

在项目根目录创建名为Dockerfile的文件,内容如下:

立即学习Java免费学习笔记(深入)”;

<font face="Courier New">
FROM openjdk:17-jre-slim
WORKDIR /app
COPY app.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
</font>

说明:

百度AI搜
百度AI搜

百度全新AI搜索引擎

下载
  • FROM:选择基础镜像,openjdk:17-jre-slim体积小,适合生产
  • WORKDIR:在容器内创建工作目录
  • COPY:将本地JAR复制到容器中
  • ENTRYPOINT:定义容器启动时执行的命令

构建镜像

打开终端,进入包含Dockerfile的目录,执行:

<font face="Courier New">
docker build -t my-java-app .
</font>

其中my-java-app是镜像名称,末尾的点表示上下文路径为当前目录。构建成功后可通过docker images查看新镜像。

运行Java容器

使用以下命令启动容器:

<font face="Courier New">
docker run -d -p 8080:8080 my-java-app
</font>
  • -d:后台运行
  • -p:映射主机端口到容器应用端口

访问http://localhost:8080即可测试应用是否正常运行。

基本上就这些。只要JAR能运行,配合合适的JRE基础镜像,构建过程很直接。注意选择合适版本的OpenJDK,避免兼容问题。镜像构建完成后可推送到Docker Hub或私有仓库供部署使用。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

516

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

417

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

454

2024.04.08

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

42

2026.02.11

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

498

2023.11.09

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 4.4万人学习

C# 教程
C# 教程

共94课时 | 11.4万人学习

Java 教程
Java 教程

共578课时 | 82.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号