호스트 시스템에 NVIDIA Docker 런타임을 설치합니다. 다음 명령어를 사용하여 NVIDIA Container Toolkit을 설치합니다.
### 1)
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
### 2)
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
### 3)
sudo apt-get update
### 4)
sudo apt-get install -y nvidia-container-toolkit
nvidia-ctk 명령을 사용하여 컨테이너 런타임을 구성합니다
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
도커 데몬 재시작
systemctl --user restart docker
config.toml 수정
### 1)
sudo vi /etc/nvidia/container-runtime/config.toml
### 2)
--- /etc/nvidia-container-runtime/config.toml.BAK 2024-01-16 07:02:05.606573439 +0000
+++ /etc/nvidia-container-runtime/config.toml 2024-01-16 07:02:11.114549694 +0000
@@ -10,7 +10,7 @@
#ldcache = "/etc/ld.so.cache"
ldconfig = "@/sbin/ldconfig.real"
load-kmods = true
-#no-cgroups = false
+no-cgroups = true
#path = "/usr/bin/nvidia-container-cli"
#root = "/run/nvidia/driver"
#user = "root:video"
NVIDIA GPU를 사용할 수 있도록 Docker 컨테이너를 실행합니다. 다음은 CUDA 지원을 통해 GPU를 사용하는 Docker 컨테이너를 실행하는 예제입니다.
sudo docker run --gpus all -it --rm nvidia/cuda:12.3.1-base-ubuntu22.04
위 명령어는 nvidia/cuda:12.3.1-base-ubuntu22.04 이미지를 실행하며, --gpus all 옵션을 사용하여 모든 GPU를 사용하도록 설정합니다.
Docker 컨테이너 내부에서 CUDA를 지원하는지 확인합니다. 다음은 nvidia-smi 명령어를 사용하여 GPU 정보를 확인하는 예제입니다.
nvidia-smi
이렇게 하면 Docker 컨테이너에서 CUDA를 지원하고 GPU를 사용할 수 있는 환경을 설정할 수 있습니다. 위 과정을 따라 진행하시면 됩니다.