Files
argus/src/log/scripts/build_images.sh

99 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# 帮助信息
show_help() {
cat << EOF
ARGUS Log System - Image Build Tool
Usage: $0 [OPTIONS]
Options:
--intranet Use intranet mirror for Ubuntu 22.04 packages
-h, --help Show this help message
Examples:
$0 # Build with default sources
$0 --intranet # Build with intranet mirror
EOF
}
# 解析命令行参数
use_intranet=false
while [[ $# -gt 0 ]]; do
case $1 in
--intranet)
use_intranet=true
shift
;;
-h|--help)
show_help
exit 0
;;
*)
echo "Unknown option: $1"
show_help
exit 1
;;
esac
done
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$root"
echo "======================================="
echo "ARGUS Log System - Image Build Tool"
echo "======================================="
if [[ "$use_intranet" == true ]]; then
echo "🌐 Mode: Intranet (Using internal mirror: 10.68.64.1)"
build_args="--build-arg USE_INTRANET=true"
else
echo "🌐 Mode: Public (Using default package sources)"
build_args=""
fi
echo ""
# 构建 Elasticsearch 镜像
echo "🔄 Building Elasticsearch image..."
if docker build $build_args -t argus-elasticsearch:latest ./elasticsearch/build; then
echo "✅ Elasticsearch image built successfully"
else
echo "❌ Failed to build Elasticsearch image"
exit 1
fi
echo ""
# 构建 Kibana 镜像
echo "🔄 Building Kibana image..."
if docker build $build_args -t argus-kibana:latest ./kibana/build; then
echo "✅ Kibana image built successfully"
else
echo "❌ Failed to build Kibana image"
exit 1
fi
echo ""
echo "======================================="
echo "📦 Build Summary"
echo "======================================="
echo "✅ Successfully built images:"
echo " • argus-elasticsearch:latest"
echo " • argus-kibana:latest"
if [[ "$use_intranet" == true ]]; then
echo ""
echo "🌐 Built with intranet mirror configuration"
fi
echo ""
echo "🚀 Next steps:"
echo " ./scripts/save_images.sh # Export images"
echo " ./scripts/02_up.sh # Start services"
echo ""