From c957b208e2951b86bd4781ea415b33337f84ae82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A8=B8=EB=8B=88=ED=8E=98=EB=8B=88?= Date: Fri, 20 Mar 2026 22:36:02 +0900 Subject: [PATCH] feat: add build-sandbox.sh for sandbox image building --- build-sandbox.sh | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 build-sandbox.sh diff --git a/build-sandbox.sh b/build-sandbox.sh new file mode 100755 index 0000000..d87046f --- /dev/null +++ b/build-sandbox.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +set -euo pipefail + +# galaxis-sandbox 이미지 빌드 스크립트 +# Usage: ./build-sandbox.sh [--dry-run] + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$SCRIPT_DIR" + +DRY_RUN=false +if [[ "${1:-}" == "--dry-run" ]]; then + DRY_RUN=true +fi + +IMAGE_NAME="galaxis-sandbox:latest" +DOCKERFILE="Dockerfile.sandbox" + +# 색상 +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' + +info() { echo -e "${GREEN}[INFO]${NC} $*"; } +error() { echo -e "${RED}[ERROR]${NC} $*"; } + +# Docker 설치 확인 +if ! command -v docker &>/dev/null; then + error "Docker가 설치되어 있지 않습니다." + exit 1 +fi + +# Dockerfile.sandbox 존재 확인 +if [[ ! -f "$DOCKERFILE" ]]; then + error "${DOCKERFILE}이 없습니다." + exit 1 +fi + +if [[ "$DRY_RUN" == true ]]; then + echo "[DRY-RUN] 실행될 명령:" + echo " docker build -f ${DOCKERFILE} -t ${IMAGE_NAME} ." + exit 0 +fi + +info "${IMAGE_NAME} 이미지 빌드 중..." +docker build -f "$DOCKERFILE" -t "$IMAGE_NAME" . + +# 이미지 크기 출력 +SIZE=$(docker image inspect "$IMAGE_NAME" --format='{{.Size}}' | awk '{printf "%.0f", $1/1024/1024}') +info "빌드 완료! 이미지 크기: ${SIZE}MB"