DockerFile构建SpringBoot镜像

DockerFile构建Springboot镜像

本次文档基础上默认用户已经安装好Docker,不执行安装

一、首先创建一个Springboot应用

image-20250214202941746

选择Spring Web,然后一直,下一步

image-20250214203106472

只需要一个Controller验证效果就可以了。

image-20250214203311650

记录我遇到的问题

java: 错误: 无效的源发行版:15 (程序运行时出现无效的源发行版)

image-20250214203850281

这个地方也需要修改成8的版本

查资料发现,Springboot的版本与jdk的版本不对应。

Springboot3.0以上的版本其支持的最低Java版本JDK 17

本次测试的jdk版本为jdk8,所以需要调整pom文件依赖至3.0以下

此刻程序正常启动

现在让我们将程序打成一个jar包,执行命令:mvn package

OK,前置工作已准备好,现在先让我们来创建一个Dockerfile文件

1、通过阿里云镜像仓库找到openjdk的基础镜像地址

二、创建Dockerfile

根据个人的版本选择,这里我选择的jdk8的版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#使用openjdk作为基础镜像
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
#设置作者信息
LABEL authors="Zengping"
#构建镜像需要执行的命令
RUN mkdir /home/hello1235
#设置工作目录
WORKDIR "/home/hello1235"
#将打包后的jar复制到指定目录
COPY ./demo-0.0.1-SNAPSHOT.jar /home/hello1235/hello.jar
#容器暴露的端口
EXPOSE 8080
#运行命令
CMD ["java","-jar","/home/hello1235/hello.jar"]

三、将jar包与Dockerfile文件一起上传至服务器

dockerfile文件写好之后,就上传到服务器上或虚拟机上,本次示例中使用的是虚拟机,ubuntu

通过xftp将jar包以及Dockerfile文件上传至指定目录

四、执行命令构建镜像

docker build -t hello2:v1 .

容器构建成功!

通过 docker images 命令可以看到,已经有一个叫hello2的镜像存在了。

五、启动镜像

执行docker run 命令

docker run -d -p 8090:8080 --name=myhello 2fcb959ced7d

docker run 命令详解:

-d 表示后台启动

-p 宿主机的端口8090 映射容器暴露出来的8080端口

–name 容器别名

容器id 2fcb959ced7d

docker ps查看,容器启动成功!

六、查看效果,成功

前往浏览器查看效果,执行成功!


DockerFile构建SpringBoot镜像
http://example.com/2025/02/14/DockerFile构建SpringBoot镜像/
作者
zpqwe
发布于
2025年2月14日
许可协议