ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker 이미지 빌드 및 배포
    CS 공부/DevOps 2024. 10. 22. 11:22

    Docker 이미지 빌드

    • 내가 구축한 환경을 다른 사람도 Docker 이미지를 받아 쉽게 사용할 수 있도록 이미지 빌드
    • 예시로 나의 mmdetection 모델 구축 환경을 가져옴
    # 베이스 이미지로 CUDA 12.1 및 cuDNN 8이 포함된 Ubuntu 22.04 사용
    FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04
    
    # 필수 패키지 설치
    RUN apt-get update && apt-get install -y \
        python3-pip \
        libgl1-mesa-glx \
        && apt-get clean \
        && rm -rf /var/lib/apt/lists/*
    
    # PyTorch 설치 (CUDA 12.1 지원)
    RUN pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    
    # mmengine 설치
    RUN pip install --no-cache-dir mmengine==0.8.4
    
    # openmim 설치 및 업데이트
    RUN pip install --no-cache-dir -U openmim
    
    # MMDetection 설치
    RUN mim install mmdet
    
    # yapf 설치
    RUN pip install --no-cache-dir yapf==0.40.1
    
    # 작업 디렉토리 설정 (필요에 따라 수정 가능)
    WORKDIR /workspace
    
    # 기본 명령 (원하는 스크립트나 명령어로 수정 가능)
    CMD ["/bin/bash"]

     

     

    Docker build

    • "mmdet" 이름으로 도커 이미지 빌드 명령어
    docker build --no-cache -t mmdet .

     

     

     

    Docker Hub에 이미지 업로드

    • 도커 허브에 내가 직접 만든 이미지를 올려보자
    $ docker login
    Your password will be stored unencrypted in /home/user/.docker/config.json.
    
    # docker tag <로컬_이미지> <dockerhub_사용자이름>/<이미지이름>:<태그>
    $ docker tag co_detr/ubuntu22.04:0.01 imsmile2000/mmdetection-ubuntu22.04:latest
    
    # docker push yourusername/<이미지이름>:<태그>
    $ docker push imsmile2000/mmdetection-ubuntu22.04:latest
    
    # 설정 완료 후 로그아웃
    $ docker logout

     

    https://hub.docker.com/r/imsmile2000/mmdetection-ubuntu22.04

Designed by Tistory.