一、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 目录下面。
可以看到,同样是正常的。
这一讲就讲到这里,有问题可以联系我:QQ 2100363119,欢迎大家访问我的个人网站:https://www.lemon1234.com