42 lines
1.4 KiB
Docker
42 lines
1.4 KiB
Docker
# 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
|