1、开启ssh

2、配置docker连接

3、项目xml配置
3.1、 父项目配置
<!-- Spring Boot 版本 --><spring-boot.version>2.7.3</spring-boot.version><!-- Docker 插件版本 --><docker.maven.plugin.version>0.43.4</docker.maven.plugin.version><!-- Docker 统一配置 - 这些可以在子模块中覆盖 --><docker.host>http://192.168.147.129:2375</docker.host><docker.registry></docker.registry><docker.namespace>ljf</docker.namespace><docker.image.prefix>${docker.namespace}</docker.image.prefix><!-- 连接超时设置 --><docker.connectTimeout>30000</docker.connectTimeout><build><pluginManagement><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version></plugin><plugin><groupId>io.fabric8</groupId><artifactId>docker-maven-plugin</artifactId><version>0.43.4</version></plugin></plugins></pluginManagement></build>
3.2、 子项目配置
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>io.fabric8</groupId><artifactId>docker-maven-plugin</artifactId><configuration><dockerHost>${docker.host}</dockerHost><images><image><name>ljf/ljf-admin:${project.version}</name><build><dockerFile>${project.basedir}/Dockerfile</dockerFile><!-- 使用本地构建的 jar 包 --><assembly><inline><files><file><source>target/${project.build.finalName}.jar</source><outputDirectory>/</outputDirectory></file></files></inline></assembly></build></image></images></configuration><executions><execution><phase>package</phase><goals><goal>build</goal></goals></execution></executions></plugin></plugins></build>
4、dockerFile创建
# 运行阶段 - 直接使用本地构建好的 jar
FROM crpi-7to2jz8wu73owqwu.cn-beijing.personal.cr.aliyuncs.com/ljf_frame/jdk:8-jdk-slimLABEL maintainer="lijinfeng"
LABEL description="LJF Framework Admin Service"# 安装 curl 用于健康检查
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*WORKDIR /app# 直接复制本地构建好的 jar 包
# 注意:这个 jar 包是在本地用 mvn package 生成的
# 使用通配符匹配版本号
COPY target/ljf-admin*.jar app.jar# 创建日志目录
RUN mkdir -p /app/logs# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneEXPOSE 8001ENV JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"HEALTHCHECK --interval=30s --timeout=3s --start-period=60s --retries=3 \CMD curl -f http://localhost:8001/actuator/health || exit 1ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]
5、打包上传镜像
mvn clean package docker:build -DskipTests
6、跳过打包
mvn clean install -Ddocker.skip
