# Dockerfile (kaniko-with-bash) docker.unbox-x.net/registry/tools/kaniko:v1.23.2 # Stage 1: 공식 Kaniko executor 바이너리 추출 FROM gcr.io/kaniko-project/executor:v1.23.2 AS kaniko # Stage 2: 안전한 Bash 환경을 가진 최종 이미지 FROM debian:bookworm-slim # 보안: 루트 인증서 및 최소 도구 설치 RUN apt-get update && \ apt-get install -y --no-install-recommends \ bash \ coreutils \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # 보안: executor 바이너리 복사 (Go 정적 빌드 바이너리) COPY --from=kaniko /kaniko/executor /kaniko/executor # 보안: 실행 디렉토리 및 사용자 지정 RUN addgroup --system kaniko && adduser --system --ingroup kaniko kaniko && \ mkdir -p /workspace && chown -R kaniko:kaniko /workspace && \ chown -R kaniko:kaniko /kaniko # PATH 설정 ENV PATH="/kaniko:$PATH" # 보안: 작업 디렉토리 설정 WORKDIR /workspace # 보안: 루트 권한 제거 USER kaniko # ENTRYPOINT 설정 ENTRYPOINT ["/kaniko/executor"]