프로덕션 이미지 모범 사례
다단계 빌드와 루트가 아닌 사용자를 사용합니다
프로덕션 이미지 모범 사례은(는) CoddyKit의 무료 Django Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Django Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Django Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
더 작고 안전한 이미지
운영 환경의 이미지는 작고 안전해야 합니다. 더 가벼운 이미지는 더 빠르게 배포되고, 더 신속하게 시작되며, 공격자가 노릴 대상도 줄어듭니다. 🛡️
다단계 빌드 사용
다단계 빌드는 한 단계에서 의존 항목을 컴파일하고, 결과물만 깨끗한 최종 이미지에 복사합니다.
FROM python:3.12 AS builder
FROM python:3.12-slim AS final필요한 것만 복사하기
빌더 단계에서 COPY --from을 사용해 설치된 패키지만 복사하고, 컴파일러와 빌드 부산물은 남겨 두세요.
COPY --from=builder /usr/local/lib/python3.12 /usr/local/lib/python3.12루트로 실행하지 않기
루트가 아닌 USER를 생성하면 침해된 프로세스가 컨테이너나 호스트를 자유롭게 수정할 수 없습니다.
RUN adduser --disabled-password appuser
USER appuser버전 고정
빌드를 재현할 수 있고 예기치 않은 업데이트로 인해 중단되지 않도록 requirements.txt에서 정확한 버전을 고정하세요.
Django==5.0.6
gunicorn==22.0.0이미지에 비밀 정보 넣지 않기
실행 시 환경 변수로 비밀 정보를 전달하고, 키나 비밀번호를 이미지 자체에 절대 구워 넣지 마세요.
SECRET_KEY=${SECRET_KEY}상태 확인 추가
HEALTHCHECK를 사용하면 오케스트레이터가 컨테이너가 실제로 작동하며 요청을 처리하고 있는지 알 수 있습니다.
HEALTHCHECK CMD curl -f http://localhost:8000/health || exit 1DEBUG를 False로 설정
운영 환경에서는 항상 DEBUG=False로 실행하여 오류 페이지를 통해 코드, 설정 또는 스택 추적 정보가 사용자에게 노출되지 않도록 하세요.
DEBUG = False릴리스에 태그 지정
latest만 사용하지 말고 실제 버전으로 이미지에 태그를 지정하세요. 그러면 무엇이 배포되었는지 항상 정확히 알 수 있고 롤백도 할 수 있습니다.
docker build -t myapp:1.4.0 .취약점 검사
빌드한 이미지에 대해 검사를 실행하여 기본 이미지와 의존 항목의 알려진 취약점을 조기에 찾아내세요.
docker scout cves myapp:1.4.0캐시를 고려한 단계 순서
거의 변경되지 않는 단계를 앞에 배치하고 코드는 마지막에 두세요. 그러면 대부분의 재빌드에서 캐시된 레이어를 재사용해 빠르게 완료할 수 있습니다.
빠른 확인
최종 운영 이미지의 크기를 가장 직접적으로 줄이는 방법은 무엇인가요?
복습
다단계 빌드, 루트가 아닌 사용자, 버전 고정, 실행 시 비밀 정보 주입, 상태 확인, DEBUG 비활성화로 이미지를 강화했습니다. 운영 환경에 사용할 준비가 완료되었습니다! 🏁
AI 튜터와 함께 Python을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“프로덕션 이미지 모범 사례” 강의는 무료인가요?
네 — “프로덕션 이미지 모범 사례” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Django Academy 강의 전체를 잠금 해제할 수 있습니다. Django Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“프로덕션 이미지 모범 사례”에서 뭘 배우나요?
다단계 빌드와 루트가 아닌 사용자를 사용합니다 브라우저에서 직접 실행하는 실습 코드로 Django Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Django Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Django Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“프로덕션 이미지 모범 사례” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Django Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Django Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.