springboot项目打包docker
时间: 2025-05-05 08:02:55 浏览: 46
### 如何将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]。
---
阅读全文
相关推荐




















