CS 공부/DevOps
Docker 이미지 빌드 및 배포
imsmile2000
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