docker 更新发布springboot

docker容器部署Spring Boot项目及更新 一、部署spring boot项目服务       首先用docker pull命令拉取一个centos镜像。 项目服务器部署目录内容如下: 服务镜像yumoq/permission-client构建: permission-client容器运行: 正常启动。 二、服务更新 1. 在服务器上找到容器上的jar包名,如下: 2. 把需要更新的新jar包替换上图... 阅读详情

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>dockerTest</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>spring-boot-docker</name>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.8.RELEASE</version>
    <relativePath />
  </parent>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <log4j2-version>2.13.3</log4j2-version>
    <docker.image.prefix>registry.aliyuncs.com/linhuatest</docker.image.prefix>
  </properties>

  <dependencyManagement>
    <dependencies>

    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions><!-- 去掉springboot默认配置 -->
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- logging -->
    <!--<dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <scope>runtime</scope>
      <version>${log4j2-version}</version>
    </dependency>-->
    <dependency> <!-- 引入log4j2依赖 -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.10</version>
      <scope>compile</scope>
    </dependency>
    <!--<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.1.8.RELEASE</version>
    </dependency>-->

    <!-- testing -->

  </dependencies>

  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <!-- tag::plugin[] -->
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
          <dockerDirectory>src/main/docker</dockerDirectory>
          <resources>
            <resource>
              <targetPath>/</targetPath>
              <directory>${project.build.directory}</directory>
              <include>${project.build.finalName}.jar</include>
            </resource>
          </resources>
        </configuration>
      </plugin>

    </plugins>
  </build>

</project>
 

以上时pow文件

 

FROM java:8
VOLUME /tmp
ADD dockerTest-1.0-SNAPSHOT.jar /test/springboot-docker.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test/springboot-docker.jar"]

 

以上时dockerfile文件  

将jar包文件和file文件放在同一目录下面  /home/dockertest/

docker build -t dockertest .

docker run -d -p 9998:9999 -v /home/dockertest/:/test/ dockertest

如果想更新架包,则需要stop容器,然后将源目录下面的jar文件替换,这样会同步修改容器内的jar包文件,只

需要start 容器就可以做到版本更换发布

 

如果想把容器内的日志文件同步到源机器中

docker run -d -p 9998:9999 -v /home/dockertest/:/test/ -v /home/dockertest/logs/:/var/dockertest dockertest

可以采用多个目录同步  -v 参数使用多次

目录文件同步 是双向的同步

 

 

docker run -d -p 9998:9999 -v /home/dockertest/:/test/ -v /home/dockertest/logs/:/var/dockertest dockertest
docker build -t dockertest .

docker run -t -i dockertest /bin/bash

docker logs -f -t 010f99cefc73

http://*.*.*.*:9998/test


docker container ps -a

从硬编码到配置中心:Apollo核心架构、Docker部署与Spring Boot集成实战 在微服务与分布式架构中,配置管理是保障系统灵活性与可维护性的基础组件。其核心原理在于将应用配置从代码中解耦,集中存储与管理,实现配置的动态获取与实时生效。这项技术的核心价值在于提升研发运维效率、降低变更风险,并支持复杂的多环境与灰度发布场景。配置中心作为该理念的工程实现,广泛应用于需要动态调整参数、统一管理多服务配置的系统中。本文聚焦于业界广泛使用的携程开源配置中心Apollo,深入解析其服务端与客户端协同工作的核心架构,并提供了基于Docker-Compose的快速部署方案。通过Spring Boot集成 阅读详情

相关推荐

杰理的蓝牙芯片的key是什么?以及该如何添加key?杰理key文件原理

很多的工程师,在开发杰理蓝牙芯片的第一步就会有一个很深的疑惑,关于key的 1、什么是key文件? 2、Key文件是如何产生的? 3、为什么需要他key文件? 4、如何添加key文件? 5、以及实际开发中的一些报错该如何处理?

qyvhome的博客 4095

docker部署springboot项目(更新无需重新build)

之前的文章记录过利用docker部署springboot项目,使用的方式是直接将jar一起打包,构建成一个新的镜像,再运行镜像的方式进行部署,然而这里有一种缺点,就是后面更新jar包,都需要删掉旧的镜像,重新build,再运行,为了解决这种问题,下面列了部署springboot项目的另一种姿势。这里的/data/java/jar/springboot-docker-test.jar路径是后续容器里面运行的jar包的路径,路径可以自己随便定义,后面我们会在宿主机上面把这个路径挂载出来即可。...

最强菜鸟 3698

GPMC开发笔记(TI开发者推荐笔记)

因为gpmc(General-Purpose Memory Controller)是TI特有的驱动,gpmc的资料比较少,本人开发gpmc驱动算是摸了很多石头过河的。所以想通过这遍文章可以给也做GPMC驱动开发的后来者有一点参考价值。文章如有瑕疵也请各位批评改正。 1.GPMC介绍 gpmc主要用于与nandflash,norflash,fpga进行通信。在这里主要介绍gpmc16位数据和地址线不复用nor模式下的通信。 注意:在这种模式下gpmc_a[0]引脚是没法使用的 1.1GPMC信号线

weixin_44316996的博客 7498

Docker更新springboot容器镜像

Docker更新springboot容器镜像

syahfozy的博客 923

Android15 AndroidV冻结和解冻的场景

cgroup 最初由 Google 工程师 Paul Menage 和 Rohit Seth 在 2006 年提出,是一种细粒度资源控制的Linux内核机制。于 2007 年合并到 Linux 内核主线中。然而 Google 原生系统直到 Android 11 或更高版本上才支持 CACHE 应用的 CPU 冻结功能。当应用切换到后台并且没有其他活动时,系统会在一定时间内通过状态判断,将进程 ID 迁移到冻结的 cgroup 节点上,实现冻结 CACHE 应用。

苏法迪的专栏 1786

用Cadence IC618仿真双平衡吉尔伯特混频器:从原理图到后仿的完整避坑指南

本文详细介绍了在Cadence IC618环境中设计双平衡吉尔伯特混频器的全流程,包括原理图设计、仿真优化和版图实现。通过实战案例分享,重点解析了设计中的关键技巧和常见问题解决方案,帮助工程师高效完成高性能混频器设计,特别适合射频前端开发人员参考。

weixin_42656416的博客 162

本地docker开发springboot 项目且本地更新代码 docker 容器中实时更新

要实现本地更新代码后Docker容器中实时更新,您可以通过将本地代码目录挂载到Docker容器中,并使用Spring Boot的热部署功能来实现。这样,当您在本地修改代码时,Docker容器内的应用程序会自动重新加载最新的代码,并实时反映更改。现在,您的Spring Boot应用程序应该在Docker容器中运行,并且代码更改会实时反映在容器中。您可以在本地编辑代码,保存后,Docker容器内的应用程序将自动重新加载最新的代码。但在开发阶段,热部署是非常有用的,可以加快开发迭代和调试过程。

前端kk的博客 1488

Qoder Quest 模式实战:从需求到代码的自动化开发

本文深入探讨Qoder Quest模式如何实现从需求到代码的自动化开发。通过编写清晰的Spec规格说明,Qoder能智能分解任务并在后台执行,生成高质量代码,大幅提升开发效率,让开发者专注于架构设计等创造性工作。

herb5的博客 1151

docker部署springBoot项目实操

领导给了一台已经安装了docker环境的服务器,要求将jar包部署在docker下面。以上就是今天的内容,使用docker部署jar包,因为涉及文件上传,需要将文件保存到主机目录,避免删除镜像后文件数据丢失。

xs_2012的专栏 1770

Qt之QSqlTableModel:高效数据库操作与视图绑定的实战指南

本文深入探讨了Qt框架中的QSqlTableModel组件,它作为连接数据库与Qt视图的智能中介,能极大简化数据库的增删改查操作。通过实战代码演示,详细讲解了如何快速构建可编辑的数据表格、理解并设置关键的数据编辑策略(如OnManualSubmit),以及实现数据过滤、排序等高级功能。文章还提供了性能优化、事务处理及常见避坑指南,帮助开发者高效、稳健地开发数据库驱动的桌面应用。

y4z5a6b7的博客 440

Android 13 内置xapk安装包的方法

安装xapk 内置xapk

安卓兼职framework和app工程师的博客 223

使用docker发布第一个springboot项目

使用docker发布第一个springboot的demo,练练手吧

GMaya的博客 1804

SAP-MM-采购过账接口(与WMS集成)-代码

1、判断传入值非空检验; 2、判断过账日期是否允许在当前期间; 3、判断是否为集采订单业务,是否审批完成; 4、判断是否发布标准成本发布(此业务场景与价格控制3+S有关) 5、保存日志表; 6、判断业务公司订单审批状态; 7、创建STO交货单、集采公司订单过账、STO公司间创建交货单、交货单过账(两步法)、过账失败回滚(冲销交货、删除交货单、冲销集采入库)

qq_32198063的博客 420

docker搭建java运行环境(java或者springboot)

Java HTTP服务的部署与更新方案。首先通过Java内置HttpServer创建简单服务,编译打包为JAR文件。随后展示了三种部署方式:1) 直接运行JAR;2) Docker基础部署(需停机更新);3) Docker Swarm集群化部署(支持零停机更新)。重点讲解了Swarm方案的关键配置:多副本确保高可用,分批更新控制(parallelism/delay参数),以及版本回滚机制。通过流程图直观呈现了Swarm架构下服务的滚动更新过程,为Java应用提供了可靠的持续部署解决方案。

你好 1134

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Docker + Nginx 实现 Java 服务零停机发布,彻底解决发布 502 问题

本文介绍了一种低成本实现SpringBoot服务零停机发布的方案,通过双实例兜底和Nginx自动重试机制解决传统部署中的502问题。关键配置包括:Nginx的proxy_next_upstream实现请求自动重试、docker-compose定义主备服务、以及智能发布脚本。该方案采用先启动临时副本再重启主服务的流程,配合健康检查确保服务可用性,最终实现用户无感知的平滑发布。文章还总结了6个核心避坑点,如健康检查应直接检查容器端口、临时服务使用backup模式等。

jifashihan的博客 1085

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

docker部署springboot项目流程

实战:springboot开发的某项目部署流程案例 公司项目代码保存在svn上面,由于自动化部署功能等尚未完成,所以每次新提交代码之后的发布流程大概如下,克隆代码等操作基本是一次性的,每次代码修改后主要是从第二步开始重复操作! ------------1.下载项目------------ 如果项目代码不存在,需进行下载 svn下载指定项目命令: svn checkout 项目路径 例: svn checkout https://********:8443/svn/MIGUMS_PROJECT/trunk/c

狗狗大蛇 287

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring Boot 2.3.0 正式发布!天生支持 Docker!

知道的越多,不知道的就越多,业余的像一棵小草!编辑:业余草来源:https://www.xttblog.com/?p=5002今天 520!大家都去刷朋友圈了。我们就来点轻松的内容吧!S...

xmt1139057136的专栏 1155

docker 部署java 程序

通常情况下制作镜像时,都是将jar包直接Add或Copy进入镜像中,这样启动容器后,如需更新jar包,需要重新制作镜像,从新制作容器,对于springboot的发布不易,那如果在不更新竞相或者容器的前提下就可以更新jar包呢。方法如下: 方法一: 1、制作Dockerfile FROM java:8 EXPOSE 8090 ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/data/data-center-servic

weixin_36488599的博客 367

docker java自动化部署_Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤

Linux+Docker+SpringBoot+IDEA一键自动化部署的步骤记录从打包到服务器配置上线全流程安装docker详细步骤请戳这里用yum源安装用yum源安装查看是否已安装docker列表yum list installed | grep docke安装dockeryum -y install docker-y表示不询问安装,直到安装成功,安装完后再次查看安装列表开放2375端口,开启远...

weixin_39890289的博客 292

Spring Boot 2.3.0 发布:支持Java14、打包Docker镜像、优雅关机配置...

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 | 冷冷gg来源 |https://www.oschina.net/news/115701/spr...

程序猿DD 1447

docker命令大全

摘要:文章包括docker安装教程,docker镜像,docker容器,Dockerfile命令,教程学习,已及SpringBoot微服务打包Docker镜像

东的博客 290

Docker+jenkins+Harbor+gitlab自动部署最简单的SpringBoot项目

利用docker+jenkins+harbor+gitlab体验自动部署。

weixin_53539277的博客 1436

Spring Boot 2.3.0 正式发布!

程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 2 分钟。作者:冷冷gghttps://www.oschina.net/news/115701/spring-boo...

良月柒 1149

SpringBoot-2

镜像使用者:从镜像仓库将镜像下载到本地使用; 接下来的故事围绕上述三个角色展开; [](()从制作到使用的过程 如下图,SpringBoot应用开发者,写完代码把应用做成docker镜像,该镜像的TAG是1.0,此时开发者将镜像推送到公共仓库时,一共要推送三个layer: 接下来,使用者要下载镜像,就从镜像仓库下载三个layer: 此时,三个角色拥有的内容都是一样,都是三个layer: 这时候SpringBoot开发者修改了业务代码,于是做了个新的镜像(TAG是2.0),然后推送到.

java100001的博客 308

SpringBoot v2.4.0 正式发布,支持Java15

知识改变命运,撸码使我快乐,2020继续游走在开源界 点赞再看,养成习惯 给我来个Star吧,点击了解下基于SpringBoot的组件化接口服务落地解决方案 第一时间收到了GitHub推送的SpringBoot发版邮件,2020.11.13日正式发布了v2.4.0,这是2.4.x分支的第一个版本。 以SpringBoot团队的行事风格,每间隔六个月会发布一个大版本,预计2021年5月份发布 v...

恒宇少年De成长之路 1702
上一篇: 有用的一行命令
下一篇: Es 的一些命令
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值