栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

命令行传参给logback,构建镜像传参给Dockerfile

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

命令行传参给logback,构建镜像传参给Dockerfile

命令行传参给logback

第一种是使用 ${} 来动态读取系统命令行参数来指定日志输出路径


默认在项目的根目录下生成日志文件,可以通过 java -jar -DBUILD_FOLDER="" 来指定日志输出路径,${BUILD_FOLDER:-logs}中的 logs可以替换为任意指定路径作为默认的输出路径

第二种是使用springProperty来获取到application.yml中的配置来指定输出路径


可以读取到 application.yml中配置的路径,但是会同时在 defaultValue 的路径中生成日志文件,如果没有 defaultValue, 则同时会在项目根目录中生成一个 logging.path_is_undefine 日志文件,默认生成的日志文件不会随着项目日志的增加而增加, 新增的日志只会在 logging.path 指定路径中新增。
造成这种现象的原因是 logback 的配置文件会比 springboot 的配置文件先加载,所以一开始 logback 是读取不到application.yml中的配置的。网上说将logback.xml更换为logback-spring.xml就不会出现这种情况,但是我更改过后依然是同样的情况,所以推荐使用第一种方法来动态指定 logback 日志输出路径。

Dockerfile 传参 1.构建传参数
docker build --build-arg  TOMCAT_VERSION="${TOMCAT_VERSION}" -t my-dest-image-"${TOMCAT_VERSION}" .  

Dockerfile

ARG TOMCAT_VERSION  
FROM my-src-image-${TOMCAT_VERSION}:1.0  
ARG TOMCAT_VERSION  
RUN echo "${TOMCAT_VERSION}"  

注意:

    参数使用时要用 {} 括起来,调用 FROM 语句时报错 invalid reference format

    FROM 之后还要使用该参数的话,需要重新引入一下

2.运行传参数

Dockerfile

FROM pre-harbor.webull.com/library/oraclejdk:8u192
MAINTAINER alex "lyj@webull.com"
ENV JAVA_APP_JAR books-records-service-0.1.0-SNAPSHOT.jar
COPY target/${JAVA_APP_JAR} ${JAVA_APP_DIR}
EXPOSE ${SERVER_PORT}

对SERVER_PORT传参数

docker run -d -p 2000:8080 镜像名称 -e SERVER_PORT="8080" 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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