728x90
docker-compose 로 Docker 서비스를 구성할 때 NVIDIA GPU를 접근하는 방법에 대해 설명합니다.
사전필요사항
아래 내용을 진행하기 위해서는 다음사항이 준비되어야합니다.
- NVIDIA GPU Driver 설치
- NVIDIA-CONTAINER-RUNTIME 설치
참고로, Docker 데몬의 기본 런타임을 nvidia로 설정하면 아래 내용이 불필요할 수 있습니다.
runtime 사용 (v1.27.0 이상)
Docker Compose v1.27.0 이상 버전부터는 2.x과 3.x 버전의 Compose 파일 스펙을 병합하여 지원하게 됩니다.
따라서 예전 v2.3에서 지원했던 runtime을 다시 사용할 수 있습니다.
다만, GPU 장치의 상세 설정은 불가능합니다.
services:
test:
image: nvidia/cuda:10.2-base
command: nvidia-smi
runtime: nvidia
device 사용 (v1.28.0 이상)
Docker Compose v1.28.0 이상부터는 device 구조를 정의해서 GPU를 사용할 수 있게 합니다.
- capabilities : GPU에서 사용할 기능 문자열 (예: gpu, utility 등)
- count : 예약할 GPU 장치 번호 또는 all
- device_ids : 예약할 GPU 장치 ID 문자열
- driver : 장치 드라이버 (예: nvidia)
- options : 키-값 쌍의 드라이버 특정옵션
여기서 capabilities는 필히 설정해야하며, count나 device_ids 둘중 하나를 사용해야합니다.
services:
test:
image: nvidia/cuda:10.2-base
command: nvidia-smi
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu, utility]
반응형
'Docker' 카테고리의 다른 글
[Docker] python 3.10에서 "RuntimeError: can't start new thread" 발생 (0) | 2023.09.08 |
---|---|
[Docker] Ubuntu에 Docker 설치 (0) | 2020.02.18 |
[Docker] ubuntu에 docker-compose 설치하기 (0) | 2020.02.18 |
[Docker] Pull할 때 [::1]:53: read: connection refused 발생시 (0) | 2017.10.19 |
[Docker] Windows에서 Docker 실행하기 (0) | 2017.04.15 |