build-images.sh 908 Bytes
#!/usr/bin/env bash
set -euo pipefail

# HaHRCS Docker 镜像打包脚本
# @author zzy

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
OUTPUT_DIR="${SCRIPT_DIR}/../../runing"
OUTPUT_TAR="${OUTPUT_DIR}/hahrcs-images.tar"
mkdir -p "${OUTPUT_DIR}"

if command -v docker-compose >/dev/null 2>&1; then
  COMPOSE_CMD=(docker-compose)
elif docker compose version >/dev/null 2>&1; then
  COMPOSE_CMD=(docker compose)
else
  echo "未找到 docker-compose 或 docker compose 命令" >&2
  exit 1
fi

echo "正在构建后端镜像..."
"${COMPOSE_CMD[@]}" build api || {
  echo "镜像构建失败"
  exit 1
}

echo "正在导出所有镜像..."
docker save -o "${OUTPUT_TAR}" \
  hahrcs/api:latest \
  masstransit/rabbitmq:4.1.3 \
  redis:7.2-alpine \
  postgis/postgis:15-3.4 \
  emqx/emqx:5.5 \
  nginx:1.25-alpine \
  portainer/portainer-ce:lts

echo "镜像导出完成: ../runing/hahrcs-images.tar"