- 微服务采用容器化部署->本地推送镜像到镜像仓库->Paas容器云管理平台拉取部署
- SpringBoot打包插件配置
- 聚合工程pom添加全局变量
<docker.image.prefix>xdclass-cloud</docker.image.prefix>
在需要打包的地方加上
每个微服务都添加依赖(服务名记得修改)
<build> <finalName>alibaba-cloud-coupon</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--需要加这个,不然打包镜像找不到启动文件--> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <fork>true</fork> <addResources>true</addResources> </configuration> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.4.10</version> <configuration> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin> </plugins> </build>
创建文件Dockerfile
FROM registry.aliyuncs.com/distroless/java VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
如果有验证码相关,用下面这个,要不验证码不显示
FROM frolvlad/alpine-oraclejdk8:slim ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
多个微服务本地镜像打包
- 步骤一:最外层 mvn clean install
- 步骤二:去到子模块pom文件下
mvn install -Dmaven.test.skip=true dockerfile:build
本文作者为DBC,转载请注明。