diff --git a/kaniko/1.23.2-bash/Dockerfile b/kaniko/1.23.2-bash/Dockerfile index c7d2b67..5e882e7 100644 --- a/kaniko/1.23.2-bash/Dockerfile +++ b/kaniko/1.23.2-bash/Dockerfile @@ -1,34 +1,28 @@ # 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/* + bash coreutils ca-certificates curl && \ + rm -rf /var/lib/apt/lists/* -# 보안: executor 바이너리 복사 (Go 정적 빌드 바이너리) -COPY --from=kaniko /kaniko/executor /kaniko/executor +# kaniko 바이너리 복사 +COPY --from=gcr.io/kaniko-project/executor:v1.23.2 /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 +# 비루트 사용자 생성 +RUN useradd -m -u 1000 kaniko -# PATH 설정 +# 권한 부여 +RUN mkdir -p /workspace && \ + chown -R kaniko:kaniko /workspace /kaniko && \ + chmod -R g+rw /workspace /kaniko + +# 실행 환경 ENV PATH="/kaniko:$PATH" +ENV HOME=/workspace -# 보안: 작업 디렉토리 설정 WORKDIR /workspace - -# 보안: 루트 권한 제거 USER kaniko - -# ENTRYPOINT 설정 ENTRYPOINT ["/kaniko/executor"]