99 lines
2.2 KiB
Bash
Executable File
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 ""
|
|
|