栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

部署到Docker时外部化Spring Boot属性

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

部署到Docker时外部化Spring Boot属性

DOCKER图像配置

如果您查看Spring建议启动由Spring
Boot驱动的Docker容器的方式,那么您会发现:

FROM openjdk:8-jdk-alpineVOLUME /tmpARG JAR_FILECOPY ${JAR_FILE} app.jarENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

这意味着您的映像扩展了openjdk,并且容器具有自己的环境。如果这样做的话,就足以声明要覆盖的内容,因为 环境属性 和Spring
Boot会获取它们,因为环境变量优先于yml文件。

也可以在docker命令中传递环境变量,以使用所需的配置启动容器。如果要为JVM内存设置一些限制,请参见下面的链接。


DOCKER组成样本

这里有一个示例,说明了如何使用docker
compose启动一个简单的应用程序环境。如您所见,我在

spring.datasource.url
此处将属性声明为环境变量,因此它将覆盖
application.yml
文件中的所有内容。

version: '2'services:    myapp:        image: mycompany/myapp:1.0.0        container_name: myapp        depends_on:        - mysql        environment: - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/myapp?useUnipre=true&characterEncoding=utf8&useSSL=false        ports: - 8080:8080    mysql:        image: mysql:5.7.19        container_name: mysql        volumes: - /home/docker/volumes/myapp/mysql/:/var/lib/mysql/        environment: - MYSQL_USER=root - MYSQL_ALLOW_EMPTY_PASSWORD=yes - MYSQL_DATAbase=myapp        command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379315.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号