💡기존 cpu 사용하는 컨테이너를 gpu 사용으로 변경하는 방법 (cent OS)
$ sudo yum install -y nvidia-container-toolkit
안 되면 repo 직접 추가
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
$ sudo yum install -y nvidia-container-toolkit
대신 /etc/yum.repos.d 폴더에 아무것도 없어야 한다고 함. 아무 백업 폴더 만들어서 다 옮겨줌.
yum install 에러 해결방법
설치하고나면 도커 데몬 수정
$ sudo vi /etc/docker/daemon.json
{
"data-root": "/home/docker",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
도커 파일이 Dockerfile.cuda 파일이 아닌 Dockerfile 로 빌드 되어 있는데, 무작정 다시 빌드하면 이미 있는 프로젝트라서 안 된다.
이미지를 먼저 지우고 진행 필요.
$ docker images
$ docker rmi <img id>
이미지 재빌드
$ docker push {hub}:latest
$ docker build -f ./Dockerfile.cuda -t {hub}:latest
$ docker-compose -f {docker compose yml 파일.yml} down
$ docker-compose -f {docker compose yml 파일.yml} up -d —build
yml 파일에 구절 추가
runtime: nvidia
컨테이너 로그 확인
$ nohup docker-compose -f {docker compose yml 파일.yml} logs -f celery > celery-logs.txt 2>&1 &