docker部署springboot jar包项目

12 篇文章 0 订阅
本文详细描述了在Docker环境下部署SpringBoot项目jar包的全过程,包括安装Docker、创建安装目录、编写Dockerfile、创建启动脚本以及运行和监控容器。
摘要由CSDN通过智能技术生成

docker部署springboot jar包项目

一、编译springboot项目生成jar包

  • 将项目jar包上传到服务器安装目录
  • 如果使用idea开发工具,直接点击右侧Maven,clean,install生成jar包
    在这里插入图片描述
  • install编译完成后会在target下生成一个jar包
    在这里插入图片描述
  • 将这个jar包上传到服务器的安装目录

二、创建安装目录

  • /opt/projects/demo-java/target/
cd /opt
mkdir projects
cd projects
# 创建项目目录和日志目录
mkdir demo-java log
cd demo-java
mkdir target
cd /opt/projects/log
mkdir java
  • 将jar包上传到/opt/projects/demo-java/target/目录下
    在这里插入图片描述
  • 项目中配置的日志目录是/opt/project/log,构建成容器后日志目录也是这个
  • 日志配置文件logback-spring.xml
    在这里插入图片描述

三、创建Dockerfile

# 基于哪个镜像
FROM openjdk:8-jdk
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,ocr-compare-demo-java.jar这里是maven打包后的名字
# target,必须与服务器上创建的目录保持一致
ADD target/ocr-compare-demo-java.jar app.jar
#时区设置
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS="-server  -Xmx512m -Xms128m -Xmn256m -XX:MetaspaceSize=64m"
# 配置容器启动后执行的命令
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
  • 将Dockerfile放在/opt/projects/demo-java目录下,与target同级
    在这里插入图片描述
  • FROM openjdk:8-jdk # 基于openjdk这个镜像来构建,服务器如果没有这个镜像,默认会先拉去这个镜像
  • 查看镜像docker images
    在这里插入图片描述

四、创建启动文件

  • build-demo-java.sh
#!/bin/bash

echo "-----clear container and image start-----"
# 命名容器名称
rep=demo-java
# 如果此容器存在则停止
if docker ps | grep "$rep";then
        docker stop $rep
fi
# 如果此容器存在则删除
if docker ps -a | grep "$rep";then
        docker rm $rep
fi
# 如果此镜像存在则删除
if docker images | grep "$rep";then
        docker rmi $rep
fi
echo "----clear container and image end----"
# 构建镜像
echo "------build docker image start------"
docker build -t $rep /opt/projects/demo-java || ! echo "build new image error" || exit
echo "------build docker image end-------"

echo "----build container start-----"
# 启动容器
docker run -d -p 7070:7070 \
-v /opt/projects/log/java:/opt/project/log \
--restart=always --privileged=true \
-e TZ=Asia/Shanghai \
--name $rep $rep || ! echo "cannot run container:$rep,exit" || exit
echo "-----build container end-----"

# -p 7070:7070 [宿主机映射端口]:[容器端口-jar包项目中配置的端口]
# -v /opt/projects/log/java:/opt/project/log  -v配置容器目录映射到宿主机,[宿主机目录]:[容器目录]
# -e TZ=Asia/Shanghai 给容器设置时区
# --name $rep $rep  容器名称、镜像名称,镜像名称不带版本号时默认latest版本

五、执行启动文件

cd  /opt/projects/
sh sh build-demo-java.sh 

在这里插入图片描述
在这里插入图片描述

  • 查看镜像docker images
    在这里插入图片描述

六、查看部署的容器

# 查看容器
docker ps
# 查看看那日志
docker logs -f --tail 500 demo-java

在这里插入图片描述

  • 查看日志 docker logs -f --tail 500 demo-java
    在这里插入图片描述
  • 启动成功
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值