一、Spring Boot 项目准备

这里大家自己找一个 Spring Boot 的项目,最好是有文件存储的那种(例如有日志输入输出,图片上传本地服务器之类的项目),然后将该项目打包成 jar 包。

简单先了解一下我的这个项目。

项目端口:8080

日志存储路径:/home/lemon1234_log

二、通过 docker 部署 Spring Boot 程序

步骤一:

首先我们进入到宿主机 /home 下面,创建一个 dockerfile 的文件夹,然后里面再去创建一个 dockerfile 的文件,然后再把刚刚弄好的 jar 包上传上去。

这种简单的 Linux 命令要会啊~~~,不会的自己去学一下基础好了。

步骤二:

编写 dockerfile 文件,这里我们通过 vi 命令来进行编写 dockerfile。

FROM java:8
 
LABEL author=lemon1234 \
      firstCreateDate=2022-05-23
 
COPY test.jar app.jar
 
EXPOSE 90
 
ENTRYPOINT ["java", "-jar", "/app.jar"]
 
CMD ["/bin/bash"]

以上 dockerfile 我相信大家只要会 dockerfile 指令,肯定能看的懂,然后保存并退出编辑。

步骤三:

接着,我们在有 dockerfile 文件的同一层进行输入 docker build 命令

docker build -f dockerfile -t lemon1234:1.0 .

可以看到,正常构建 dockerfile,没有异常。

步骤四:

启动服务,我们需要用到挂载,将日志文件挂载出来,我这里是将它挂载到宿主机的 /home/log 下面。

docker run -itd -v /home/log:/home/lemon1234_log -p 90:8080 --name springboot_demo 镜像id

可以看到,是正常启动,接着我们查看一下日志。

同样,也是正常的。

步骤五:

测试刚刚的 Spring Boot 的服务,我们一边在宿主机查看日志,然后一边进行请求。

可以看到,都是正常的。

三、查看容器

这里我们先通过 docker ps 查看一下我们的容器。

可以看到 COMMAND 是 java -jar /app.jar,这是我们启动 springboot 服务的命令,然后还有后面的端口映射。

接着再通过 docker exec 查看一下容器内部

不难发现,我们进入容器后是在根目录,因为这里我们并没有设置 WORKDIR。

接着进入到 /home 目录下面。

可以看到,同样是正常的。

更多推荐