首页 > 其他分享 >Docker项目必备

Docker项目必备

时间:2024-05-02 12:11:06浏览次数:20  
标签:容器 JAVA LOG 项目 必备 jar yyyy 1.0 Docker

1、logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <jmxConfigurator/>

    <springProperty scope="context" name="springAppName" source="spring.application.name"/>

    <!--保存日志的文件目录位置-->
    <property name="LOG_PATH" value="log"/>

    <!--打印到日志文件的日期格式-->
    <property name="FILE_LOG_PATTERN"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:-} --- [%15.15t] %-40.40logger{39} : %m%n"
    />
    <!--打印到控制台的日期格式-->
    <property name="CONSOLE_LOG_PATTERN"
              value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) {faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"
    />

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <fileNamePattern>${LOG_PATH:-}/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 每个日志文件的大小 -->
            <maxFileSize>10MB</maxFileSize>
            <!-- 保留多少天的日志 -->
            <MaxHistory>40</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!--控制台打印的日志配置-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>


    <logger name="druid.sql.Statement" level="INFO" additivity="false">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </logger>

    <logger name="java.sql.PreparedStatement" level="DEBUG" additivity="false">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </logger>

    <logger name="org.springframework" level="INFO" additivity="false">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </logger>

    <root level="INFO" additivity="false">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>

2、dockerfile

# 设置JAVA版本
FROM java:8
# 指定存储卷, 任何向/tmp写入的信息都不会记录到容器存储层
VOLUME /tmp
# 拷贝运行JAR包
ADD helloworld-1.0-SNAPSHOT.jar app.jar
# 设置JVM运行参数, 这里限定下内存大小,减少开销
ENV JAVA_OPTS="\
-server \
-Xms2g \
-Xmx4g \
-XX:MetaspaceSize=1g \
-XX:MaxMetaspaceSize=2g"
#空参数,方便创建容器时传参
ENV PARAMS=""
# 入口点, 执行JAVA运行命令
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS app.jar $PARAMS"]

3、docker-compose.yml

version: "1.0"
services:
  clock:
    image: helloworld
    volumes:
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - ./logs:/log
    ports:
      - "9004:9004"

标签:容器,JAVA,LOG,项目,必备,jar,yyyy,1.0,Docker
From: https://www.cnblogs.com/yangzaikongzhongfei/p/18170076

相关文章

  • Radius 现在是云原生计算基金会(CNCF)的沙箱项目
    在数字化时代,云原生计算技术逐渐成为企业转型的关键。2024-04-25,备受瞩目的开源项目Radius已正式加入云原生计算基金会(CNCF)的沙箱项目![Sandbox]Radius·Issue#65·cncf/sandbox(github.com)这个消息让业界瞩目,加入CNCF的沙箱项目,不仅是对Radius技术实力的认可,也是Radi......
  • 开源文档预览项目 kkFileView (9.9k star) ,快速入门
    kkFileView是一款文件文档在线预览解决方案,采用流行的SpringBoot框架构建,易于上手和部署。该项目基本支持主流办公文档的在线预览,包括但不限于doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。1Docker部署拉取镜像:#网络环境方便......
  • django项目的创建和运行
    #######最后项目部署的时候都是在服务器上用代码创建项目和运行项目#######1、安装django(可以指定版本)pipinstalldjango==3.22、下载django项目后面路径是可选项,一般加个.表示在当前目录创建,可以减少项目目录的层级Django-adminstartproject项目名[路径]3、创建子......
  • docker之旅 10.容器实战-部署tars微服务框架
    参考地址:https://doc.tarsyun.com/#/installation/docker.mdhttps://github.com/TarsCloud/Tarshttps://hub.docker.com/r/tarscloud/base-deploy https://tarscloud.gitbook.io/tarsdocs/kuang-jia-bu-shu/docker 前提:假设你已经安装好了docker,docker-compose。如......
  • vue 项目构建之 jsconfig.json 作用
    目录   vue项目构建之jsconfig.json作用   VScode的配置vue项目构建之jsconfig.json作用   由于webpack别名配置好以后,如果想要在vscold中可以正确提示路径,就需要配置jsconfig.json文件:   再项目目录下创建jsconfig.json文件{ "compilerOptions":{   "base......
  • 启动vue项目时发生了什么
    简介最近在做vue项目时,遇到一些vuecli方面的报错,于是便想深入研究一下vuecli。这里先简单写一篇,如果有更细致的探究,再另作打算。执行npmrundev前提是你已经安装了node,并且附带了npm。执行npmrundev时,npm会自动搜索当前目录下的package.json,找到scripts配置项中的dev脚本......
  • Vue项目中每个文件夹和文件的用处
     myfirstvue#项目名-node_modules#文件夹,放了该项目所有的依赖,很小很多,以后把项目传给别人,这个要删除,别人拿到执行cnpminstall安装依赖-public#文件夹-favicon.ico#小图标,浏览器上面显示,可以替换-index.htm......
  • Vue项目中main.js、App.vue、import...from...等的作用和意义
      https://www.cnblogs.com/webwangjie/p/11471542.html 一、main.js  1、 main.js程序入口文件,初始化vue实例,并引入使用需要的插件和各种公共组件.importVuefrom'vue'importAppfrom'./App'importrouterfrom'./router'importLessfrom'Less'......
  • Flask web项目 gunicorn部署
    Flaskweb项目gunicorn部署安装pip3installgunicorn查看版本及是否安装成功flask--versiongunicorn-h###需要与app.py启动文件中的ip和端口号一致。gunicorn-w3-b外网IP地址XX.XX.XX.XX:8002app:app端口号的原因:端口号>8000#启动报错gunicorn-w3-b0.0.0.0:50......
  • 关于在CentOS7的docker容器下启动MySQL5.7.44卡住的问题的解决办法
    最近想在docker中跑一个MySQL5.7版本的服务,而且要基于CentOS,所以着手自己构建镜像。容器的构建参照下面这篇文章基于CentOS7镜像容器的MySQL环境构筑-sxb_sunday-博客园(cnblogs.com)构建完成后,用下面命令启动MySQL服务的时候,启动进程一直卡住没有反应,只能CTRL+C强制停止。......