Image

Image

Python Code, PyTorch 같은 라이브러리, CUDA Toolkit 등을 담고있습니다.
Application과 실행환경 등이 하나로 Packaging 되어 있는 파일이 Image 입니다.
Image는 여러개의 layer로 이루어져 있습니다
Image는 여러개의 layer로 이루어져 있습니다
Image는 처음부터 사용자가 만들어 사용하는게 아니라, 이미 만들어진 Base Image로부터 시작합니다.
Base image는 기초적이고 실행이 보장된 레이어 묶음으로써, 보통 기업에서 제공하고 있습니다.
사용자는 Base image를 토대로 추가적으로 layer를 쌓아 Custom Image로 사용합니다.

Dockerfile

Image 자체를 저장하여 쓸 수도 있지만, 보통 Dockerfile로 build 하여 사용하게됩니다.
Dockerfile은 Image에 대한 설계도 그 자체이며, 일관성있는 Image를 build 할 수 있습니다.
Dockerfile 예시
# NVIDIA H200 을 위한 Baseimage 선택 - Baseimage는 Clush 측에서 제공 FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 # non-interactive mode로 설정하여 빌드 중 사용자 입력을 기다리며 시스템이 멈추는 현상 방지 ENV DEBIAN_FRONTEND=noninteractive # 필수 시스템 pacakge 설치 RUN apt-get update && apt-get install -y \ python3.10 \ python3-pip \ git \ wget \ libgl1-mesa-glx \ libglib2.0-0 \ && rm -rf /var/lib/apt/lists/* # 파이썬 명령어를 위한 symbolic link RUN ln -s /usr/bin/python3.10 /usr/bin/python # pip upgrade RUN pip install --upgrade pip # CUDA 버전에 맞는 pytorch와 DL핵심 라이브러리 설치 RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 추가적인 DL과 전처리 라이브러리 설치 RUN pip install \ numpy \ pandas \ scikit-learn \ matplotlib \ opencv-python \ tqdm \ jupyterlab # 작업 Directory 설정 WORKDIR /workspace
Clush에서 제공하는 Base image만으로도 사용할 수 있겠지만, 필요시 제공된 Base image을 기반으로하여 다른 library를 추가한 Dockerfile로 build하여 Cutstom image를 생성해서 사용해야합니다.
이렇게 생성된 Custom Image는 Container Registry에 저장됩니다. (후술)