Docke部署springboot jar包项目

1. 先打包项目 —>打开maven命令 输入

   clean package  -Dmaven.test.skip=true

2. 找到项目根目录下的target目录,这里面的jar就是打包好可以部署的jar包

在这里插入图片描述

3.准备服务器上的jar包存放目录以及Dockerfile文件

并且在本目录下创建Dockerfile文件,并且将下面这段粘贴在Dockerfile文件中【使用vi命令即可完成文件的创建以及文件内容的填充】

FROM java:8

VOLUME /temp

ADD HPV-0.0.1-SNAPSHOT.jar hpv.jar

RUN bash -c 'touch /HPV-0.0.1-SNAPSHOT.jar'

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx1024m","-Xms1024m","/hpv.jar","--spring.profiles.active=pro"]
FROM openjdk:8-jdk-alpine
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
COPY songti.ttc /usr/share/fonts/song/
ARG JAR_FILE=\*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=release","/app.jar"]

解释:

FROM java:8

指定要构建的spring
boot服务镜像的基础源镜像是java,版本是8;如果本地没有java:8的镜像,就会从dockerHub下载。一般首次下载,以后就不会下载了。

VOLUME /temp

VOLUME 指向了容器内的/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat
默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录

VOLUME 命令只能指定挂载点,也就是说在此处,只能指定容器内的目录,不能指定宿主机上对应的目录,也就是说是宿主机上自动生成的目录
去挂载了 容器内的指定的/tmp目录!!!

如果想要指定宿主机的目录去进行挂载,只能通过run命令中的 -v参数进行 宿主机的指定目录 挂载 容器内的指定目录

ADD HPV-0.0.1-SNAPSHOT.jar hpv.jar

其实就是 ADD 【rz上传上来的文件】 【要被拷贝到即将要构建的docker容器中的文件】

RUN bash -c ‘touch /HPV-0.0.1-SNAPSHOT.jar’ 实际执行复制操作的命令
java -jar xxx.jar为实际启动命令 ENTRYPOINT 入口点

4.上传jar包到同级目录

5.#hpv表示生成镜像的名称,(注意后面有个点.)

docker build -t hpv .

在这里插入图片描述

6.docker images查看是否成功

img

7.启动

docker run -d -p 9700:9700 --name hpv hpv

8.查看日志

docker logs -f hpv

9.更新jar包

version: '3'
services:
  jury:
    restart: always
    build: ./app
    image: jury/jury-management:release
    volumes:
        - /home/workspace/jury:/root/jury
        - /etc/localtime:/etc/localtime
        - /etc/timezone:/etc/timezone
    network_mode: "host"
docker-compose up -d --build

10 常用文件放置

在这里插入图片描述
app中放入jar和字体和Dockerfile启动文件
在这里插入图片描述

FROM openjdk:8-jdk-alpine
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
COPY songti.ttc /usr/share/fonts/song/
ARG JAR_FILE=\*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=dev","/app.jar"]

外部docker-compose.yml 提示步骤具体安装需要即可

version: '3'
services:
  policeoa:
    restart: always
    build: ./app
    image: lcls/lcls:release
    volumes:
        - /home/workspace/lcls:/root/lcls
        - /etc/localtime:/etc/localtime
        - /etc/timezone:/etc/timezone
    network_mode: "host"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值