Files
docker-registry/alpine-base/build-base-image.sh
danial dc22011d51 chore(ci): 添加 alpine-base 镜像构建流水线和基础镜像文件
- 在 .drone.yml 中新增 alpine-base 镜像构建的 SSH Pipeline
- 添加基于阿里云镜像源和自定义证书的 Alpine 基础镜像 Dockerfile
- 创建构建基础镜像的脚本 build-base-image.sh,支持构建并推送镜像
- 新增 alpine-base 目录下的 README.md,详细说明镜像特点和使用方法
- 设置非 root 用户 appuser 及应用目录,提升安全性
- 支持根据 alpine-base 目录变更触发自动构建流程
2025-11-09 16:27:27 +08:00

51 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Build script for alpine-base Docker image
# This script creates an optimized Alpine base image
set -e
# Configuration
BASE_IMAGE_NAME="alpine-base"
REGISTRY="${DOCKER_REGISTRY:-git.oceanpay.cc/danial}"
VERSION="${VERSION:-latest}"
echo "🏗️ Building alpine-base Docker image..."
echo "Registry: $REGISTRY"
echo "Version: $VERSION"
echo
# Build the base image (Alpine Linux with optimizations)
echo "📦 Building base image ($BASE_IMAGE_NAME)..."
docker build \
--file Dockerfile.base \
--tag "$BASE_IMAGE_NAME:$VERSION" \
--tag "$BASE_IMAGE_NAME:latest" \
.
# Tag for registry if specified
if [ "$REGISTRY" != "localhost:5000" ]; then
docker tag "$BASE_IMAGE_NAME:$VERSION" "$REGISTRY/$BASE_IMAGE_NAME:$VERSION"
docker tag "$BASE_IMAGE_NAME:latest" "$REGISTRY/$BASE_IMAGE_NAME:latest"
fi
echo "✅ Base image built successfully!"
# Push to registry if specified
if [ "$REGISTRY" != "localhost:5000" ]; then
echo "🚀 Pushing image to registry..."
docker push "$REGISTRY/$BASE_IMAGE_NAME:$VERSION"
docker push "$REGISTRY/$BASE_IMAGE_NAME:latest"
echo "✅ Image pushed to registry successfully!"
fi
echo
echo "🎉 Build completed successfully!"
echo "Available images:"
echo " - $BASE_IMAGE_NAME:$VERSION"
echo " - $BASE_IMAGE_NAME:latest"
# Display image size
echo
echo "📊 Image size:"
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" | grep "$BASE_IMAGE_NAME"