在Docker上部署SpringBoot项目

在学习中发现了部署的时候总是有各种问题,此文章只有操作步骤没有原理解释,只是用来提醒自己部署步骤

部署总共可以分为五步!

第一步:将SpringBoot项目打包成jar包

这里使用idea的上maven选项打包,点一下就行。

docker springboot jvm优化 docker运行springboot_spring boot

第二步:编写Dockerfile文件

新建一个名为Dockerfile的文件,注意没有后缀名

# 镜像java版本,这里有坑,你可以看着项目里的pom.xml文件确定自己的版本,如果有问题的话多尝试几个
FROM openjdk:17
# VOLUME 指定了临时文件(使用容器卷)目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp。
VOLUME /tmp 
# 将jar包添加到容器中并更名为test2.jar
ADD test1-0.0.1-SNAPSHOT.jar test2.jar 
# 暴露端口号
EXPOSE 8080
# 容器启动时会运行的命令
ENTRYPOINT ["java","-jar","/test2.jar"]

这里我的jar包名是test1-0.0.1-SNAPSHOT.jar,然后test2.jar是新起的名字(可以随意起,但是最后一行最后"/test2.jar"要对应你起的新名字)。
其他的配置很明确,对照的改就行了

第三步:将SpringBoot的jar包和Dockerfile文件一起放在linux系统下任意一个目录下

这里我使用的是Xftp,当然你用什么方式都行,都在一个文件夹底下就行

docker springboot jvm优化 docker运行springboot_spring boot_02

第四步:在这个文件夹目录下执行以下命令,将生成镜像

docker build . -t test2

docker springboot jvm优化 docker运行springboot_docker_03

注意test2是我前面起的名字,这里要填你自己名的名字,还有要记得中间有一个 . 点

第五步:在确认已成功安装SpringBoot项目的Docker镜像后运行一下命令即可创建此SpringBoot项目的容器实例

下面命令查看docker本地中所拥有的镜像

docker images

docker springboot jvm优化 docker运行springboot_docker_04

上图结果有test2,安装成功,此时下面命令创建此镜像的容器实例

docker run -d --name test8080 -p 8080:8080 test2

其中test8080是我给容器起的名字,test2是镜像名字,以及-p后面的数字是端口号,注意

第六步:如果上述步骤全部没问题,那么应该已经可以正常访问了,如果有问题就不是你部署没部署上的问题,而可能是你springboot项目本身的问题,此时就可以输入docker的日志命令查看springboot项目的报错信息,再进行更改

下面是查看容器日志的命令

docker logs test8080

docker springboot jvm优化 docker运行springboot_spring boot_05