赞
踩
在这篇教程中,我们将学习如何使用 Maven 插件为 Spring Boot 应用构建 Docker 镜像。我们将使用 spring-boot-maven-plugin 和 dockerfile-maven-plugin 这两个插件。
首先,使用 Spring Initializr 创建一个新的 Spring Boot 项目,或者你可以使用已有的项目。
curl https://start.spring.io/starter.zip -d dependencies=web -d type=maven-project -d language=java -d bootVersion=2.6.3 -o demo.zip
unzip demo.zip -d demo
cd demo
在 pom.xml 中添加 Docker Maven 插件配置。在 标签内添加以下内容:
<build> <plugins> <!-- Spring Boot Maven Plugin --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Dockerfile Maven Plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.4.13</version> <executions> <execution> <id>default</id> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <repository>your-dockerhub-username/demo</repository> <tag>${project.version}</tag> <skipDockerBuild>false</skipDockerBuild> </configuration> </plugin> </plugins> </build>
在项目根目录创建一个 Dockerfile 文件,并添加以下内容:
# 使用官方的 OpenJDK 作为基础镜像
FROM openjdk:8-jdk-alpine
# 设置工作目录
VOLUME /tmp
# 复制 jar 文件到容器中
COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
# 运行应用
ENTRYPOINT ["java","-jar","/app.jar"]
使用以下命令来构建项目和 Docker 镜像:
mvn clean package dockerfile:build
构建成功后,终端输出如下所示:
构建完成后,你可以使用以下命令运行 Docker 容器:
docker run -p 8080:8080 your-dockerhub-username/demo:0.0.1-SNAPSHOT
运行成功后,浏览器访问 http://localhost:8080 可以看到 Spring Boot 应用的默认页面。
确保已登录到 Docker Hub:
docker login
然后使用以下命令将镜像推送到 Docker Hub:
mvn dockerfile:push
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。