- 微服务采用容器化部署->本地推送镜像到镜像仓库->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,转载请注明。