手动将springboot项目jar文件打包成docker镜像

本文介绍了一种特殊情况下的操作流程:如何将已打好的SpringBoot工程jar文件手动打包成Docker镜像。包括创建Dockerfile、指定基础镜像、添加jar文件、设置端口暴露及入口命令等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般来讲在真正做项目的过程中,一般不会把打好的项目jar文件再手动打成docker镜像,选择使用eclipse或者idea直接打成docker镜像更好一点,但是最近就遇到这么一个情况,记录一下当做笔记了。

1、准备好一个打好的springboot工程jar文件

启动测试jar,查看是否访问正常

OK,正常访问,凡事想想防火墙。。。。

2、在同目录下新建DockerFile文件

DockerFile文件内容为

FROM java:8
MAINTAINER lulu
ADD nginx-test.jar nginxTest.jar
EXPOSE 8085
ENTRYPOINT ["java","-jar","/nginxTest.jar"]

FROM 依赖的基础镜像

MAINTAINER此镜像文件的编辑作者

ADD将需要的文件打到镜像里面

EXPOSE暴露的镜像端口

ENTRYPOINT镜像入口初始化命令配置

3、生成镜像文件

执行docker build命令生成镜像文件

4、启动镜像、访问

访问成功,没问题,over!!

 

 

### 如何将Spring Boot项目打包Docker容器中 为了实现将Spring Boot项目打包并运行于Docker容器中的目标,以下是详细的说明以及操作方法: #### 准备工作 在开始之前,需要完以下准备工作: - **安装 Docker 服务**:确保操作系统上已功安装 Docker 服务。如果是在 CentOS 中,则需按照标准流程配置好 Docker 环境[^1]。 - **Maven 或 Gradle 构建工具**:用于编译和打包 Spring Boot 应用程序。通常情况下,建议提前确认 Maven 已经被正确安装并能够正常运作。 #### 使用官方插件构建镜像 自 Spring Boot 版本 `2.3.x` 起,其内置支持通过 Maven 插件直接生 Docker 镜像的功能。这意味着无需手动创建 Dockerfile 文件即可完整个过程[^2]。具体步骤如下所示: ##### 修改 pom.xml 添加插件配置 在项目的根目录下的 `pom.xml` 文件里加入下面的内容片段以便启用该功能: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <name>${project.artifactId}:${project.version}</name> </image> </configuration> <executions> <execution> <goals> <goal>build-image</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 随后可以通过执行命令 `mvn spring-boot:build-image` 来触发自动化的镜像制作流程。 #### 自定义方式——编写 Dockerfile 并上传至服务器 当不采用上述自动化手段时,另一种常见做法便是自行撰写一份专属的 Dockerfile 文档,并将其连同最终产物 JAR 文件一同放置于远程主机上的特定位置[^4]。 这里给出一个简单的例子作为参考模板: ```dockerfile FROM openjdk:17-jdk-slim AS base WORKDIR /app COPY target/your-application-name.jar app.jar ENTRYPOINT ["java", "-jar", "/app/app.jar"] ``` 注意替换其中占位符部分为你实际使用的 jar 名称。 接着依次运行下列 shell 命令以达目的: ```bash docker build -t your-docker-image-tag . docker images # 查看当前所有可用镜像列表 docker run -d --name containerName -p hostPort:containerExposedPort imageName ``` 以上分别代表了建立新镜像、列举已有资源概览还有启动实例化后的容器三个阶段的操作指南。 另外值得一提的是关于优化方面的小技巧,即合理划分各层结构从而提高效率减少冗余重复计算量等问题也有提及过[^5]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值