This commit is contained in:
병준 박 2025-04-13 04:51:15 +00:00
parent bad82ad2fb
commit 78129195c9

View File

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