Docker构建一个基础的SpringBoot项目镜像并启动

一、打包一个SpringBoot应用

1
2
# 本教程的程序包
git pull https://github.com/Jacobshash/dockefiledeploy.git

通过 maven package 或者 maven install 打为 jar 包

二、编写Dockerfile文件

Dockerfile是构建docker镜像的必须文件

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明

1
2
3
4
5
6
7
8
9
10
11
12
# 必须 构建镜像的底层镜像,本质是jdk23的linux的镜像,为springboot应用提供基础运行环境,可以是远程docker仓库的地址,也可以是本地docker镜像
FROM open-jdk23
# 非必须 可多个键值对 镜像的一些描述信息
LABEL authors="loltoulan"

# 工作目录,就是下面copy命令的destination目录,也是通过 docker exec -it 进入容器之后的目录
WORKDIR /app/jar
# 将本地文件复制到 镜像目录
COPY dockefiledeploy.jar dockefiledeploy.jar

# 设置容器创建时的主要命令
ENTRYPOINT ["java","-jar","dockefiledeploy.jar"]

三、构建springboot镜像的基础环境

将文件上传到服务器 本地也可以,我windows 本地没有docker环境,所以上传到linux服务器

image-20241207213252813

四、构建镜像

1
docker build -t dockerfiledeploy:V1 -f Dockerfile .

image-20241207214050076

image-20241207214126892

五、运行构建出来的镜像

1
docker run -d  --name dcokerfiledeployvolumes -p 8080:8080 -v /app/logs:/app/jar/logs dockerfiledeploy:V1

image-20241207214248537

六、查看挂在出来的日志文件

image-20241207214451054

image-20241207214925156

七、总结

1
2
3
4
5
6
7
8
9
10
11
# 构建镜像
docker build -t dockerfiledeploy:V1 -f Dockerfile .

# 运行镜像
docker run -d --name dcokerfiledeployvolumes -p 8080:8080 -v /app/logs:/app/jar/logs dockerfiledeploy:V1

# 进入容器,4a 是容器id
docker exec -it 4a /bin/bash

# 推出镜像
exit