어느시점부터 docker 안에 gpu를 올리는 기술이 nvidia-docker에서 nvidia-container-toolkit로 바뀌었다고 한다. 따라서 더이상 nvidia-docker를 설치하지않고, nvidia-container-toolkit을 설치해야 도커 이미지안에서 gpu를 사용할수 있다.
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.설치
sudo apt-get update
sudo apt-get install nvidia-container-toolkit
sudo systemctl restart docker
3.nvidia-container-toolkit이 잘 설치되었나 확인 명령어를 날려본다.(이미지 파일다운시 3분이상 소요)
docker run --rm --gpus all tensorflow/tensorflow:2.7.0-gpu nvidia-smi
tensorflow:2.7.0-gpu 컨테이너에 nvidia-docker로 인해서 nvidia-smi 명령어가 먹히고 현재 그래픽카드정보가 나온다.
4.윈도우 환경에 내 깃허브의 Scripts/check_gpu_scripts/check_gpu.py를 세팅 후 tensorflow 컨테이너에 마운트 시킨후 gpu vram이 올라오는걸 확인.
docker run --gpus all -it --rm -v .:/test tensorflow/tensorflow:2.7.0-gpu /bin/bash
cd /test
pip install scikit-learn pandas
python check_gpu.py
1분정도 로드후(fetchcove임) 윈도우 작업관리자 gpu를 보면 vram이 풀로드 된걸 확인할 수 있다(3090기준)
(cuda, cudnn 설치 없이 바로 check_gpu.py가 실 행됨)
'Backend > 도커' 카테고리의 다른 글
Dockerfile 만들기 (0) | 2024.12.30 |
---|---|
pytorch docker + jupyter notebook (0) | 2024.12.30 |
docker container에서 gui 작업 (3) | 2024.11.17 |
docker volume, 볼륨 마운트, 바인드 마운트 (0) | 2024.11.17 |
docker설치, docker 명령어 정리 (0) | 2024.08.07 |