Docker Dockerfile打包SpringBoot项目为镜像并部署
程序员文章站
2022-06-03 15:52:03
...
前面学习了Docker,今天来打包个项目Demo测试一下Docker在实际生产环境的使用。
- 先找一个你本地能运行的SpringBoot项目
- 安装了Maven(这里用Maven构建jar包)
-
安装了Docker环境
修改项目的主pom.xml文件,添加如下插件,如果添加了其他的打包插件请注释掉:
<properties>
<docker.image.prefix>mistra</docker.image.prefix>
</properties>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
cd到项目根目录下
- ./mvnw clean 先清除一下
- ./mvnw package 打包项目为jar包
- ls 查看,顺利的话就生成了target文件夹
cd 进入target查看生成的jar包
touch Dockerfile 在项目根目录下创建文件Dockerfile,跟target目录同一级
- vi Dockerfile 编辑文件
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Dockerfile指令的说明可以查看这里:Docker 通过Dockerfile创建自定义镜像
在项目根目录进行打包:./mvnw install dockerfile:build ,可以详细的看到构建过程
docker images 查看刚刚打包好的镜像
还可以把自己制作的镜像push到远端仓库,在任何一个系统上pull下来就可以直接部署了。这就是docker强大之处。-
docker run -p 8080:8080 -t mistra/store:latest 基于此镜像运行一个容器,并添加端口映射
可以看到项目启动成功
- docker ps 查看刚刚启动的容器:
推荐阅读
-
详解如何使用Docker部署一个web项目并打包成镜像文件
-
Docker的镜像制作与整套项目一键打包部署的实现
-
SpringBoot项目的Dockerfile和docker-compose.yml部署文件
-
Springboot中引入本地jar包,并通过maven把项目成功打包成jar包部署
-
打包docker镜像推送到远程服务器并部署到k8s的方法步骤
-
简述Docker安装Tomcat镜像并部署web项目
-
docker安装tomcat并部署Springboot项目war包的方法
-
浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)
-
springboot打包项目,配置文件分离,使用dockerfile部署,启动成功,测试通过
-
一步步把一个SpringBoot应用打包成Docker镜像并运行 SAP成都研究院SAP Cloud PlatformSAP云平台SAPCloud