下面我来详细讲解使用Docker部署打包发布Spring Boot项目的完整攻略,包含两条示例说明。
准备工作
在开始前需要先准备以下工作:
- 安装Docker
- 安装Maven
- 编写Spring Boot项目
- 安装docker-maven-plugin
这里就不再赘述Docker和Maven的安装过程,若还未安装可自行搜索相关教程。
使用Docker构建镜像和容器
- 新建Dockerfile文件
在Spring Boot项目的根目录下新建Dockerfile文件,文件内容如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/{your project jar name}.jar {your project jar name}.jar
RUN sh -c 'touch {your project jar name}.jar'
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/{your project jar name}.jar"]
其中,{your project jar name}
需要替换为你的Spring Boot项目启动后的Jar包名称。
- 在命令行中创建镜像
在Spring Boot项目的根目录下,执行以下命令创建Docker镜像:
docker build -t {your docker image name} .
其中,{your docker image name}
应为你需要创建的镜像名称。
- 运行容器
在创建镜像完成后,执行以下命令运行容器:
docker run -d -p {your port}:8080 --name {your container name} {your docker image name}
其中,{your port}
为你需要将容器映射到本地的端口号,{your container name}
为你需要创建的容器名称。
使用Maven和docker-maven-plugin插件构建镜像
- 新建Dockerfile文件
同样,在Spring Boot项目的根目录下新建Dockerfile文件,文件内容如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD {your project jar name}.jar {your project jar name}.jar
RUN sh -c 'touch /{your project jar name}.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/{your project jar name}.jar"]
- 添加docker-maven-plugin插件
在pom.xml文件中添加docker-maven-plugin插件,如下:
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<imageName>{your docker image name}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
其中,{your docker image name}
应为你需要创建的镜像名称。
- 在命令行中创建镜像
在执行构建命令时,加上dockerfile:build
参数即可在Maven的构建流程中添加Docker镜像构建的过程,命令如下:
mvn clean package dockerfile:build
- 运行容器
与上一种方法相同,在构建完成后运行容器的命令为:
docker run -d -p {your port}:8080 --name {your container name} {your docker image name}
以上就是使用Docker部署打包发布Spring Boot项目的两种示例,希望可以帮助到您。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Docker部署打包发布springboot项目 - Python技术站