Docker部署SpringBoot服务(Jar包映射部署)

介绍

项目在docker部署运行以后,每次需更新jar包时,都得重新制作镜像,再重新制作容器。流程及其繁琐,效率极低。
以下步骤是在不更新镜像和容器的前提下,直接更新jar完成项目更新的操作。

不重新制作镜像部署

1. 创建你存放项目的文件夹

我的文件目录是 /home/application/framework 分别在里面创建两个子文件夹 data : 存放项目jar包 , Dockerfile, start.sh ; tmp : 存放临时文件

在这里插入图片描述

2. 创建Dockerfile文件

# Docker image for springboot file run
# 基础镜像使用java
FROM openjdk:8-jdk
# 作者
MAINTAINER Mr.Gao

# VOLUME 指定了临时文件目录为/tmp。
VOLUME /tmp

#设置工作目录 此后RUN、CMD、ENTRYPOINT、COPY、ADD等命令都在此目录下作为当前工作目录
WORKDIR /data

#执行data下的 start.sh
CMD ["sh","-c","/data/start.sh"]

3. 创建 start.sh

#启动jar包 *** 表示你要运行的jar我的是 sky-server-1.0-SNAPSHOT.jar
java -jar /data/***.jar 

在 start.sh文件夹下执行 chmod +x start.sh命令

在这里插入图片描述

4. 制作镜像

#sky 是镜像的名称可以根据自己的项目进行修改
docker build -t sky .

在这里插入图片描述

#查看容器镜像
docker images

在这里插入图片描述

5. 制作容器

docker run -d --name sky-api  -it -v /home/application/framework/tmp:/tmp  -v /home/application/framework/data:/data    -p 8089:8080  sky
参数介绍
	< -d 后台运行
	< -mane 容器名称
	< -p 指定端口映射 格式为: 主机port:容器port
	< -it 运行一个交互式的容器,并分配一个伪终端
	< -v 绑定一个卷
	< --restart=always 自启动
	<  最后面的sky 是你制作的镜像名

在这里插入图片描述

docker ps -a #查询容器是否启动

 docker logs --tail 300 -f sky-api #查询容器的日志   sky-api 是你的容器名

在这里插入图片描述

6. 验证

我的验证方式是部署的jar和替换后的jar去除了一个接口
现在的接口是3个
在这里插入图片描述

#替换jar需要先停止docker容器
docker stop sky-api 

在这里插入图片描述
上传要替换的jar包到你的项目的路径 我的是 /home/application/framework/data

上传完以后启动容器

docker start sky-api

启动以后再次验证
在这里插入图片描述

替换成功,三个接口变成两个了

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker 是一种轻量级的容器技术,可以在不同的操作系统上运行应用程序。在 Docker部署 Spring Boot 应用程序并替换 JAR 包的步骤如下: 1. 首先,确保已经安装了 Docker 并且 Docker 服务正在运行。 2. 在 Spring Boot 项目的根目录下,创建一个名为 `Dockerfile` 的文件。在文件中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp COPY target/*.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 该 `Dockerfile` 使用了 OpenJDK 8 的 Alpine 版本作为基础镜像。`COPY` 命令将构建目录下的所有 `.jar` 文件复制到容器中的 `/app.jar`。`ENTRYPOINT` 命令指定了容器启动时运行的命令。 3. 确保已经在 Spring Boot 项目的根目录下执行了 `mvn clean package` 命令,生成了可运行的 JAR 文件。 4. 打开终端,导航到 Spring Boot 项目的根目录下。 5. 执行以下命令来构建 Docker 镜像: ``` docker build -t spring-boot-app . ``` 该命令使用 `Dockerfile` 构建了名为 `spring-boot-app` 的镜像。 6. 使用以下命令来执行 Docker 容器: ``` docker run -d -p 8080:8080 --name spring-boot-container spring-boot-app ``` 该命令在后台创建并运行一个名为 `spring-boot-container` 的容器,并映射容器内的 8080 端口到主机的 8080 端口上。 7. 如果想替换 JAR 包,首先关闭当前运行的容器: ``` docker stop spring-boot-container docker rm spring-boot-container ``` 8. 然后,将新的 JAR 包复制到 Spring Boot 项目的目录下,并执行以下命令构建新的 Docker 镜像: ``` docker build -t spring-boot-app . ``` 9. 最后,使用以下命令来执行新的 Docker 容器: ``` docker run -d -p 8080:8080 --name spring-boot-container spring-boot-app ``` 这样就完成了替换 JAR 包并重新部署 Spring Boot 应用程序的过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值