spring boot docker构建
一、利用spring-boot-maven-plugin,但是缺少灵活配置。
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.5.6</version> <configuration> <docker> <host>tcp://xxxxxx:2375</host> <tlsVerify>false</tlsVerify> <publishRegistry> <username>xxx</username> <password>xxx</password> <url>xxxxx</url> <email>user@example.com</email> </publishRegistry> </docker> <image> <name>xxxxx/data-apps/${project.artifactId}:${project.version}</name> <publish>false</publish> </image> </configuration> </plugin>
利用docker-maven-plugin也可以完成。
此外,建议使用IDEA的docker插件,更加灵活。
二、Dockerfile用于构建镜像,docker-compose用于容器编排(不用于镜像构建)
三、.dockerignore用于指定发送到docker server的构建内容,同.gitignore类似
具体将构建内容发送到docker目录下的tmp
通过跟踪 tmp中的内容,发现.dockerignore **/* 不能屏蔽同.dockerignore同级文件,比如pom.xml、README.md,需要单独列到.dockerignore中
四、logback-spring
1. 解决IS_UNDEFINED
改logback-sb.xml logging.config
2. SizeAndTimeBasedRollingPolicy fileNamePattern ${log.path}/%d{yyyy-MM,aux}/${app.name}_info.%d{yyyy-MM-dd-HH-mm}.%i.log
Note that only one %d token can be primary, all other tokens must be marked as auxiliary by passing the 'aux' parameter.
清醒时做事,糊涂时读书,大怒时睡觉,独处时思考; 做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己
-- 共勉