跳到主要内容

构建 API 镜像

ShopTNT 默认使用官方 API 镜像,直接执行一键部署即可,无需自行构建。本指南适用于修改后端源码后,需要构建并发布自定义 API 镜像的场景。

一、准备构建环境​

构建服务器需要安装 Git、JDK 21、Maven 和 Docker,具体安装方式请参考基础环境配置。

# 检查 Git 版本
git --version
# 检查 Java 版本,应为 JDK 21
java -version
# 检查 Maven 版本
mvn -v
# 检查 Docker 版本
docker --version

使用私有镜像仓库时,需要提前登录:

# 登录镜像仓库,请替换为实际仓库域名
docker login registry.example.com

二、构建镜像​

1. 下载源码​

# 下载 shoptnt 源码
git clone https://gitee.com/bbc-se/shoptnt.git

2. 构建镜像​

进入源码目录并运行镜像构建脚本:

# 进入源码目录
cd shoptnt
# 执行镜像构建
bash image.sh
选项说明
1确认当前配置,编译源码、构建并推送全部 API 镜像
2修改镜像仓库,例如 registry.example.com/bbc
3修改镜像版本,例如 8.0.1
0退出脚本

../../img/bbc-build-docker.png

按照对应的选项进行操作

最终生成的镜像格式为 ${镜像仓库}/${服务名称}:${镜像版本},例如:

registry.example.com/bbc/base-api:8.0.1

四、脚本快捷操作​

除交互菜单外,image.sh 还支持直接通过命令完成构建和推送:

命令说明
bash image.sh build [服务名...]构建镜像并加载到本机 Docker,不推送
bash image.sh push [服务名...]推送本机已有镜像,不重新构建
bash image.sh build-push [服务名...]编译源码、构建镜像并直接推送

命令后不填写服务名时,默认处理全部服务;填写服务名时,可以只处理一个或多个指定服务。例如:

# 构建并推送全部服务镜像
bash image.sh build-push

# 只构建 base-api,不推送
bash image.sh build base-api

# 构建并推送多个指定服务
bash image.sh build-push base-api buyer-api seller-api

五、验证镜像​

在部署服务器拉取其中一个镜像,确认仓库地址、权限和版本正确:

docker pull registry.example.com/shoptnt/base-api:8.0.1
docker image inspect registry.example.com/shoptnt/base-api:8.0.1