dockerfile 로 빌딩

Leejaegun·2025년 3월 24일

docker

목록 보기
2/6

Docker의 기본 사용 순서를 비교 설명

✅ 정석적인 Docker 개발 흐름

일반적으로는 Dockerfile → docker build → docker run 순서

1. 🏗️ Dockerfile을 작성한다

  • 베이스 이미지 (예: pytorch/pytorch:...) 를 지정하고,
  • 필요한 패키지 설치, 코드 복사 등을 적는다.
FROM pytorch/pytorch:2.6.0-cuda12.6-cudnn9-devel
RUN pip install ...
WORKDIR /app
COPY . /app

2. 🛠️ 이미지 빌드한다

docker build -t my-mamba-app .
  • 이건 Dockerfile이 있는 디렉토리에서 실행해야 함.
  • python:3.10을 pull 했더라도, 지금 Dockerfile에선 그걸 사용하지 않으므로 관계 없음.

3. 🚀 컨테이너 실행

docker run -it --rm --gpus all --name mamba my-mamba-app

if) gpus 에 index 0번짜리만 쓰고 싶다면

docker run -it --rm --gpus '"device=0"' --name mamba my-mamba-app

❌ 흐름에서 이상한 점 주의

docker pull python:3.10
docker run -dit --name mamba python:3.10
  • 이건 python:3.10 이미지를 기반으로 그냥 빈 컨테이너를 실행하는 것뿐이야.
  • 그런데 너는 Dockerfile에서 PyTorch + CUDA 환경을 쓰기로 했잖아?
    → 그럼 python:3.10은 전혀 필요 없음!

✅ 요약: 정답 흐름

# 1. Dockerfile이 있는 디렉토리로 이동
cd ~/my-mamba-project

# 2. 이미지 빌드
docker build -t my-mamba-app .

# 3. 컨테이너 실행 (CUDA 포함)
docker run -it --rm --gpus all --name mamba my-mamba-app

옵션을 더 붙이면 예: 현재 디렉토리 마운트하거나 포트 매핑도 가능:

docker run -it --rm --gpus all -v $(pwd):/app -p 6006:6006 --name mamba my-mamba-app
profile
Lee_AA

0개의 댓글