docker-compose如何动态配置springboot项目的application.yml的配置
假如我们再springboot的工程中有配置文件
方式1:
application.properties里面存在环境变量:
#配置数据库链接
spring.datasource.url = jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}?useUnicode=true&characterEncoding=utf8 #DB_HOST,DB_PORT,DB_NAME都是环境变量
#配置数据库用户名
spring.datasource.username = ${DB_USER} #DB_USER就是环境变量
#配置数据库密码
spring.datasource.password = ${DB_PASSWORD}#DB_PASSWORD就是环境变量
然后在docker-compose.yml文件中打包镜像
version: '3'
services:
web:
restart: always
depends_on:
- db
image: springboot-app-image #镜像,如果本地docker仓库没有将会从远端docker仓库下载该镜像
build: .
ports:
- 8080:8080
environment:
- DB_HOST=192.168.0.11 #application.properties的环境变量
- DB_PORT=3306 #application.properties的环境变量
- DB_USER=root #application.properties的环境变量
- DB_PASSWORD=123456 #application.properties的环境变量
- DB_NAME=db
networks:
- credit-facility-net
方式二:
当在docker-compose.yml文件没有指定环境变量的配置时,则使用默认的环境变量
spring.datasource.username=${USER_NAME:tao} #docker-compose没有指定时则使用tao这个用户名
敲入以下命令即可运行
docker-compose up -d
当springboot本身就有多个配置文件时,我们需要在Dockerfile或者docker-compose.yml指定配置文件

在Dockerfile指定配置文件
FROM java:8 MAINTAINER *********@gmail.com ADD your_jar_name.jar app.jar # 把jar包打入镜像中,并改名为app.jar EXPOSE 8090 # 镜像启动成为容器后,对外暴露的端口 # Image创建容器时的初始化内存,最大内存,及启动时使用的profile. -c为清除以前启动的数据
ENTRYPOINT ["java","-Xms1024m","-Xmx1024m","-jar","/app.jar","--spring.profiles.active=mysql","-c"] #这里指定了appication-mysql.properties配置文件
在运行docker镜像时指定配置文件,敲入命令
docker run -d \
-p 8001:8001 \
-e "SPRING_PROFILES_ACTIVE=mysql" \
--name auth \
-v /tmp/cloud-ac-service/auth/:/var/log/cloud-ac-service/auth \
auth:latest
通过docker-compose.yml指定配置文件

方式三:通过java -jar app.jar --spring.config.location=application.yml配置文件路径,在启动工程时指定配置文件
docker-compose如何动态配置springboot项目的application.yml的配置的更多相关文章
- IDEA微服务项目的application.yml没有绿色叶子的解决办法
1.今天在写微服务项目的时候成功入坑,那么问题是啥呢?接下来和我一起走入bug的世界吧,让我们看看究竟是怎么回事. *问题描述 1.application.yml是灰色的小格子 2.实在难看 *需要解 ...
- spring-boot项目的docker集成化部署(一)
目录 spring-boot项目的docker集成化部署 前言 基本思路与方案 基本步骤 准备源码 服务器和基础环境 结语 1. 本文总结: 2. 后期优化: spring-boot项目的docker ...
- SpringBoot项目的parent依赖和配置文件*.properties、*.yml详解
1.idea创建SpringBoot项目 idea创建SpringBoot项目应该对很多人来说已经是菜到不能到菜的操作了,但是对于初学者小白来说,还是要讲解一下的.打开idea,然后选择Spring ...
- 关于springboot项目的jar和war两种打包方式部署的区别
关于springboot项目的jar和war两种打包方式部署的区别 关于springboot项目的jar和war两种打包方式部署的区别? https://bbs.csdn.net/topics/392 ...
- springboot项目的maven的pom.xml文件第一行报错 Unknown Error
springboot项目的maven的pom.xml文件第一行报错 Unknown Error https://blog.csdn.net/mini_jike/article/details/9239 ...
- SpringBoot(十):读取application.yml下配置参数信息,java -jar启动时项目修改参数
读取application.yml下配置参数信息 在application.yml文件内容 my: remote-address: 192.168.1.1 yarn: weburl: http://1 ...
- SpringBoot中application.yml基本配置详情
把原有的application.properties删掉.然后 maven -X clean install,或者通过Maven Project双击clean和install(1)端口服务配置 #端口 ...
- SpringBoot(二) SpringBoot核心配置文件application.yml/properties
我们都知道在Spring中有着application.xml文件对Spring进行相关配置,通过web.xml中的contextConfigLocation指定application.xml文件所在位 ...
- springboot:读取application.yml文件
现在开发主要使用微服务框架springboot,在springboot中经常遇到读取application.yml文件的情形. 一.概述 开发过程中经常遇到要读取application.yml文件中的 ...
随机推荐
- visualvm工具远程对linux服务器上的JVM虚拟机进行监控与调优
文/朱季谦 最近在做了一些JVM监控与调优的事情,算是第一次实践,还比较陌生,故而先把这一次经验简单记下笔记,这样,对后面学习调优方面时,不至于又想不起来了.本文档主要总结在window本地环境远程对 ...
- Ubuntu18.04安装MySQL(未设置密码或忘记密码)
一 安装MySQL sudo apt-get update sudo apt-get install mysql-server 二 密码问题 1 安装时提示设置密码 这种情况没什么问题,通过已下命令登 ...
- Python基础之异常定义
技术背景 在各类python的项目中,总会涉及到项目自身相关的一些约束条件.这些约束条件体现在,当用户输入的参数或者文件不符合项目要求时,就拒绝这个参数的输入并且播报出来,提醒用户自行修改,而这一过程 ...
- OMnet++ 初学者教程 第一节 入门
第1部分-入门 1.1模型 首先,让我们从一个包含两个节点的"network"开始.节点将做一些简单的事情:一个是节点将创建一个数据包,而两个节点将继续来回传递相同的数据包.我们将 ...
- OO第二单元作业——魔鬼电梯
简介 本单元作业分为三次 第一次作业:第一次作业要实现单部简单电梯,停靠所有楼层,无载客容量,性能分考量电梯运行时间. 第二次作业: 第二次作业实现多部电梯,电梯数量由初始化设定,每部电梯都停靠所有楼 ...
- pwnable.tw orw
orw 首先,检查一下程序的保护机制 开启了canary保护,还是个32位的程序,应该是个简单的题
- Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(六):客户端基础库 TS 实战
小程序登录鉴权服务,客户端底层 SDK,登录鉴权.业务请求.鉴权重试模块 Typescript 实战. 系列 云原生 API 网关,gRPC-Gateway V2 初探 Go + gRPC-Gatew ...
- SecureCRT 连接Win10内置ubuntu问题及解决办法
1: 输入hostname, username 后连接提示: ubuntu The remote system refused the connection. 因为没有安装或启动 ssh. 使用命令 ...
- Day01_05_Java第一个程序 HelloWorld - java类规则
第一个程序Hello World *基础语法规则: 1. 第一个Java程序 HelloWorld! public class HelloWorld{ public static void main( ...
- 1.Java开发环境搭建
Java开发环境搭建 date: 2021-4-7 19:17:30 JDK安装 下载所需的JDK版本,点此下载JDK8的安装包 挑选对应的系统版本 配置环境变量 打开高级系统设置,找到系统变量 在系 ...