# PyTorch 2.6.0 + CUDA 12.6 + cuDNN9 FROM pytorch/pytorch:2.6.0-cuda12.6-cudnn9-devel # 기본 환경 변수 ENV DEBIAN_FRONTEND=noninteractive \ HF_HOME=/workspace/.cache/huggingface \ CUDA_HOME=/usr/local/cuda \ LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} \ PIP_DISABLE_PIP_VERSION_CHECK=1 \ PYTHONUNBUFFERED=1 WORKDIR /workspace # 필수 빌드 도구 RUN apt-get update && apt-get install -y --no-install-recommends \ git build-essential ninja-build \ && rm -rf /var/lib/apt/lists/* # pip 툴업 RUN python -m pip install -U pip setuptools wheel packaging ninja # (베이스 이미지에 torch 2.6.0이 이미 포함) # torchvision/torchaudio 버전을 보장하려면 아래 라인을 사용하세요. # cu126 인덱스가 없을 수 있으므로 실패해도 빌드가 계속되게 처리합니다. RUN pip install --no-cache-dir \ torchvision==0.21.0 torchaudio==2.6.0 \ --extra-index-url https://download.pytorch.org/whl/cu126 || \ echo "Skip reinstalling torchvision/torchaudio (fallback to base image)" # 프로젝트 의존성 설치 COPY requirements.txt /tmp/requirements.txt RUN pip install --no-cache-dir -r /tmp/requirements.txt # vLLM 0.8.5 고정 (CUDA 12.x용 wheel 자동 선택) RUN pip install --no-cache-dir vllm==0.8.5 # FlashAttention (CUDA 12.6에서 빌드) RUN pip install --no-cache-dir flash-attn==2.7.3 --no-build-isolation # 작업 디렉터리 유지 WORKDIR /workspace