Docke部署springboot jar包项目

Posted 赵广陆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Docke部署springboot jar包项目的主要内容,如果未能解决你的问题,请参考以下文章

springboot的项目部署:jar包和war包

如何将springboot项目打包成jar包并部署到服务器上

Docker打包Springboot项目war包镜像并部署

《自动化系列》Jenkins部署springboot项目jar包

SpringBoot项目jar包命令行部署运行时提示“没有主清单属性”问题

Docker打包Springboot项目war包镜像并部署