본문 바로가기
카테고리 없음

NVIDIA Container Toolkit 설치

by Z0e 2025. 3. 13.

 

 

 

관련 포스팅

 

 

 

 

NVIDIA Container Toolkit

Docker 컨테이너 내에서도 NVIDIA GPU를 사용할 수 있도록 지원하는 도구

 

NVIDIA Container Toolkit

 

 

 

Installation

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

 

 

 

Configuration

`nvidia-ctk` 명령어로 default runtime으로 nvidia runtime이 설정되도록 한다.

sudo nvidia-ctk runtime configure --runtime=docker --set-as-default

 

해당 명령어는 `/etc/docker/daemon.json`을 아래와 같이 수정한다.

{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }
}

 

Docker daemon 재시작

sudo systemctl restart docker

 

 

버전 확인

nvidia-container-toolkit --version

 

 

CUDA container 검증

`--gpus` 옵션으로 CUDA 컨테이너 실행

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

 

`NVIDIA_VISIBLE_DEVICES` 옵션으로 CUDA 컨테이너 실행

docker run --rm --runtime=nvidia \
    -e NVIDIA_VISIBLE_DEVICES=all nvidia/cuda nvidia-smi

 

2개의 GPU를 사용할 때

docker run --rm --gpus 2 nvidia/cuda nvidia-smi

 

특정 GPU를 사용할 때

docker run --gpus '"device=1,2"' \
    nvidia/cuda nvidia-smi --query-gpu=uuid --format=csv

또는

docker run --rm --runtime=nvidia \
    -e NVIDIA_VISIBLE_DEVICES=1,2 \
    nvidia/cuda nvidia-smi --query-gpu=uuid --format=csv

 

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

 

 

 

 

참고

 

Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit

Note These instructions should work for any Debian-derived distribution.

docs.nvidia.com

 

User Guide — container-toolkit 1.12.1 documentation

GPUs can be specified to the Docker CLI using either the --gpus option starting with Docker 19.03 or using the environment variable NVIDIA_VISIBLE_DEVICES. This variable controls which GPUs will be made accessible inside the container. Note When using the

docs.nvidia.com