springboot之docker启动参数传递

本文介绍如何在Docker环境下使用SpringBoot并切换配置文件。通常可以通过JVM参数或命令行参数直接设置spring.profiles.active属性来选择不同的配置文件。在Docker环境下,可以通过修改Dockerfile设置环境变量或在docker-compose.yml中使用environment字段来传递这些参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天有网友问,如何在使用docker的情况下传递spring.profiles.active=test,也就是说springboot切换配置文件。以往我们直接通过java启动jar的时候,直接跟上--spring.profiles.active=test或者利用jvm参数-Dspring.profiles.active=test来传递。我写一些命令吧。

非docker下springboot切换配置文件

java -jar test.jar --spring.profiles.active=test #第一种情况切换配置文件

java -Dspring.profiles.active=test -jar test.jar #第二种情况切换配置文件

有朋友会疑惑,通过jvm参数怎么可以切换呢,其实springboot是支持的哦。

docker下springboot切换配置文件

docker封装了springboot后切换会多一些步骤,其实也不是很难。笔者找了网上好多文章,并没有看到通过com.spotify:docker-maven-plugin这个docker打包插件实现的环境变量传递参数,也可能是太简单了,没人写,但是我看到好多人需要,我还是写一下吧。但是网上有通过Dockerfile实现的Env变量传递的。下面我贴出pom中的打包插件代码:

请注意env节点和entryPoint的变化

com.spotifydocker-maven-plugin0.4.11pumelo/${project.artifactId}-${version}frolvlad/alpine-oraclejdk8:slim""[ "sh", "-c", "java $JAVA_OPTS -jar /${project.build.finalName}.jar" ]/${project.build.directory}${project.build.finalName}.jar

测试

从新打包镜像后,运行

docker run -e JAVA_OPTS='-Xms128m -Xmx256m -Dspring.profiles.active=prod' -it pumelo/test-1.0.0 /bin/bash

这样就可以通过jvm参数来切换springboot的配置文件啦。

感谢各位看官捧场。

转载于:https://www.cnblogs.com/bigben0123/p/8875573.html

Spring Boot是一个用于快速开发基于Spring框架的应用程序的开发框架。Docker是一种容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,以便在不同的环境中运行。而Kafka是一个分布式流处理平台,可以实时处理大量的消息数据。 结合这三者,"springboot docker kafka"可以理解为使用Spring Boot框架开发应用程序,并将其打包成Docker容器,同时使用Kafka作为消息传递和处理的中间件。 具体步骤如下: 1. 首先,下载所需的Docker镜像,包括Zookeeper和Kafka。可以使用命令`docker pull zookeeper:3.4.13`来拉取Zookeeper镜像,使用命令`docker pull wurstmeister/kafka:2.11-2.0.1`来拉取Kafka镜像。 2. 创建一个docker-compose.yml文件,并在其中定义Zookeeper和Kafka的配置。在配置文件中指定版本号和其他参数,然后使用命令`docker-compose -f docker-kafka.yml up -d`来启动容器。 3. 确保Zookeeper和Kafka容器已成功启动后,可以使用Spring Boot框架开发应用程序。可以使用Kafka提供的Spring Boot Starter来简化与Kafka的集成。 4. 在应用程序中配置Kafka的相关信息,包括Kafka服务器地址、主题名称等。可以使用Spring Boot提供的注解和配置文件来配置这些信息。 5. 在应用程序中编写消息的生产者和消费者逻辑。生产者将消息发送到Kafka主题,消费者则从主题中接收并处理消息。 6. 编译并构建应用程序的Docker镜像。可以使用Dockerfile来定义应用程序的构建过程,并将其打包成一个独立的Docker镜像。 7.Docker镜像部署到目标环境中。可以使用docker-compose工具来部署和管理多个容器,确保应用程序和Kafka容器能够正常运行。 通过这样的步骤,您就可以使用Spring Boot框架开发一个基于Docker和Kafka的应用程序了。这样的应用程序可以实现高效的消息传递和处理,并能够方便地在不同的环境中部署和运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [笔记系列之docker安装Kafka与spring boot + kafka 示例](https://blog.csdn.net/Apple_wolf/article/details/119977346)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [springboot整合docker里的kafka](https://blog.csdn.net/qq_30166123/article/details/89705385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值