반응형
docker run --gpu all을 했더니 다음과 같은 오류가 나타났다.
Error response from daemon: exec: "nvidia-container-runtime-hook": executable file not found in $PATH
보니 커넥터 같은 애가 필요한 모양이다.
정확히는 tool kit을 설치해야하는 모양이다.
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
키링을 획득하고 패키지 주소를 추가하는 과정으로 예상된다.
난 이미 드라이버 설치 시 했기 때문에 다음 과정을 반복하지 않았지만, 기록의 의미로서 남긴다.
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& 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/experimental/$distribution/libnvidia-container.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
그리고 설치를 한다.
아마 정확히는 nvidia-docker2를 설치한다기 보단 tool kit을 설치해야 하는 모양인데, 다음과 같이 해도 잘 적용되었다.
apt update
apt install -y nvidia-docker2
# 설치를 마치고 docker 데몬을 재시작한다.
sudo systemctl restart docker
설치를 마치고 gpus -all을 적용했던 컨테이너에서 제대로 도는지 확인해본다.
만약 다음과 같이 정상적으로 나타나지 않는다면, 로컬에서 nvidia-smi를 실행했을 때
# 난 젤리핀에서 사용하였으므로 젤리핀 컨테이너에서 실행했다.
# docker exec는 컨테이너 내의 명령어를 실행하는 기능이다.
docker exec -it jellyfin nvidia-smi
Thu Jan 12 00:55:27 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11 Driver Version: 525.60.13 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| 33% 35C P0 1W / 38W | 0MiB / 1024MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
찾다보니 cuda 컨테이너도 구성가능했나보다.
이걸 썼으면 드라이버 버전 업데이트 트러블 발생을 원천적으로 막을 수 있었겠다.
https://docs.nvidia.com/datacenter/cloud-native/playground/dind.html
반응형
'삶의 도움이 되도록 씨부리는거 > IT' 카테고리의 다른 글
Docker로 설치해본 Mkdocs (0) | 2023.01.26 |
---|---|
미디어 서버 젤리핀(jellyfin) 도커 (0) | 2023.01.11 |
우분트 18.04에서 nvidia 드라이버 설치 (0) | 2022.12.19 |
redmine dsmf 설치 장애 (0) | 2021.12.21 |