Springboot自动化部署到docker以及logback按天生成日志

 Dockerfile

1FROM java:8 2VOLUME /tmp 3ADD maven/sms-0.0.1-SNAPSHOT.jar app.jar 4RUN sh -c 'touch /app.jar' 5ENV TZ=Asia/Shanghai 6RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 7ENV JAVA_OPTS="" 8ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

application.properties

1# tomcat 2server.port=8088 3server.max-http-header-size=10000000

logback.xml

1<?xml version="1.0" encoding="UTF-8"?> 2<configuration debug="false"> 3 <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> 4 <property name="LOG_HOME" value="/sms" /> 5 <!-- 控制台输出 --> 6 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 7 <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 8 <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> 9 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n</pattern> 10 </encoder> 11 </appender> 12 <!-- 按照每天生成日志文件 --> 13 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 14 <file>${LOG_HOME}/sms.log</file> 15 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 16 <!--日志文件输出的文件名--> 17 <FileNamePattern>${LOG_HOME}/sms.%d{yyyy-MM-dd}.log</FileNamePattern> 18 <!--日志文件保留天数--> 19 <MaxHistory>30</MaxHistory> 20 </rollingPolicy> 21 <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 22 <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> 23 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n</pattern> 24 </encoder> 25 <!--日志文件最大的大小 26 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 27 <MaxFileSize>10MB</MaxFileSize> 28 </triggeringPolicy>--> 29 </appender> 30 31 <!-- 日志输出级别 --> 32 <root level="INFO"> 33 <!--<appender-ref ref="STDOUT" />--> 34 <appender-ref ref="FILE" /> 35 </root> 36</configuration>

pom.xml

1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>com.abc</groupId> 8 <artifactId>sms</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <packaging>jar</packaging> 11 12 <name>sms</name> 13 <description>短信api</description> 14 15 <parent> 16 <groupId>org.springframework.boot</groupId> 17 <artifactId>spring-boot-starter-parent</artifactId> 18 <version>2.0.3.RELEASE</version> 19 <relativePath/> <!-- lookup parent from repository --> 20 </parent> 21 22 <properties> 23 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 24 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 25 <java.version>1.8</java.version> 26 </properties> 27 28 <dependencies> 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-starter-web</artifactId> 32 </dependency> 33 34 <dependency> 35 <groupId>org.projectlombok</groupId> 36 <artifactId>lombok</artifactId> 37 <optional>true</optional> 38 </dependency> 39 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> 40 <dependency> 41 <groupId>com.alibaba</groupId> 42 <artifactId>fastjson</artifactId> 43 <version>1.2.47</version> 44 </dependency> 45 <!--springfox的核心jar包--> 46 <dependency> 47 <groupId>io.springfox</groupId> 48 <artifactId>springfox-swagger2</artifactId> 49 <version>2.7.0</version> 50 </dependency> 51 <!--springfox-ui的jar包(里面包含了swagger的界面静态文件)--> 52 <dependency> 53 <groupId>io.springfox</groupId> 54 <artifactId>springfox-swagger-ui</artifactId> 55 <version>2.7.0</version> 56 </dependency> 57 58 </dependencies> 59 60 <build> 61 <plugins> 62 <plugin> 63 <groupId>org.springframework.boot</groupId> 64 <artifactId>spring-boot-maven-plugin</artifactId> 65 </plugin> 66 <plugin> 67 <groupId>io.fabric8</groupId> 68 <artifactId>docker-maven-plugin</artifactId> 69 <version>0.30.0</version> 70 <configuration> 71 <dockerHost>http://192.168.80.16:2375</dockerHost> 72 <images> 73 <image> 74 <name>${project.name}</name> 75 <alias>${project.name}</alias> 76 <build> 77 <dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir> 78 <assembly> 79 <descriptorRef>artifact</descriptorRef> 80 </assembly> 81 <tags> 82 <tag>latest</tag> 83 </tags> 84 </build> 85 <run> 86 <!--数据卷,挂在文件的地址,例如输出项目日志--> 87 <volumes> 88 <bind> 89 <volume>/root/sms:/sms</volume> 90 </bind> 91 </volumes> 92 <namingStrategy>alias</namingStrategy> 93 <!--端口映射--> 94 <ports> 95 <port>0.0.0.0:8088:8088</port> 96 </ports> 97 <restartPolicy> 98 <name>always</name> 99 </restartPolicy> 100 </run> 101 </image> 102 </images> 103 </configuration> 104 </plugin> 105 </plugins> 106 </build> 107</project>

最后敲下如下命令

mvn clean package docker:stop docker:remove docker:build -DskipTests docker:run
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )