前提条件
- 云端有个私服
- 本地有 docker 环境,并配置了国内仓库
- 可以上网(镜像构建过程可能会从 github 下载文件)
版本说明
- OS: Windows10
- jdk:openjdk-17
- spring-boot:2.6.6
- maven:3.8.4 (默认 spring-boot 项目搭建时的包装版本)
使用步骤
docker 配置

| { |
| "builder": { |
| "gc": { |
| "defaultKeepStorage": "20GB", |
| "enabled": true |
| } |
| }, |
| "experimental": false, |
| "features": { |
| "buildkit": true |
| }, |
| "registry-mirrors": [ |
| "http://hub-mirror.c.163.com", |
| "https://docker.mirrors.ustc.edu.cn" |
| ], |
| "insecure-registries": [ |
| "如果私服使用的证书没有经过备份,则需要添加忽略安全检查仓库配置,例如:127.0.0.1:9990" |
| ] |
| } |
项目 pom.xml 文件
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <configuration> |
| |
| <addResources>true</addResources> |
| <excludes> |
| <exclude> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| </exclude> |
| </excludes> |
| <image> |
| <name>私服项目名称/${project.artifactId}:${project.version}</name> |
| <publish>true</publish> |
| </image> |
| <docker> |
| <publishRegistry> |
| <username>私服账号</username> |
| <password>私服密码</password> |
| <url>docker私服地址</url> |
| <email>dewen.jiang@chinacreator.com</email> |
| </publishRegistry> |
| </docker> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
打包发布脚本指令
| // 如果 jar 包下载很慢的话,可以考虑修改 maven 配置 |
| // 需要确保 jdk 环境与项目的 jdk 环境一致 |
| .\mvnw spring-boot:build-image |
开发可以偷懒

疑难问题
- 打包出错
90% 都是网络问题,多 jdk 的话,检查 jdk 环境;检查 maven 配置;检查本地 docker 的镜像源配置与安全检查配置。
- 发布出错
检查 docker 仓库安全检查配置
参考网址
spring-boot-maven-plugin
docker reference
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律