우분투에 딥러닝 환경을 구성하기 위해서 도커 설치화 nvidia 관련 도구를 설치하는 과정을 설명한다.
전에는 Centos나 rockylinux에서 주로 사용하였었는데 이번에 우분투 20.04에 설치하려고하니 약간 다른점이 있어서 정리한다.
참고적으로 다음은 Rocky8에서 설치한 과정이다.
https://yongeekd01.tistory.com/22
1. Docker 설치
Repo 등록
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
패키지 목록 업데이트
sudo apt-get update
원하는 버전 목록 확인
도커를 무조전 최신 버전을 설치하면 nivida toolkit이 정상 동작 하지 않을때가 있으며 권장하는 도커 버전이 있다.
여기서는 20.10을 설치한다.
apt-cache madison docker-ce
원하는 버전을 지정하여 아래와 같이 설치하면 된다.
apt-get install docker-ce=5:20.10.12~3-0~ubuntu-focal containerd.io
2. nvidia-container-toolkit 설치
우분투 버전에 맞는 패키지를 찾기
(확인 해보면 nvidia-container-toolkit은 18.04 이후로 업데이트가 없다. 22.04에서 설치해도 이전 버전으로 링크된다)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
패키지 목록 갱신
apt-get update
패키지 설치
apt-get install -y nvidia-container-toolkit
3. daemon.json 파일 수정
도커는 기본적으로 설치하면 /var/lib/docker로 기본 패스가 설정되어 docker 이미지나 컨테이너 생성시 해당 위치를 사용하게 된다.
하지만 일반적으로 /var가 속한 파티션은 크기가 크지 않아 많은 도커를 운용할 때 디스크 용량 문제에 부딛히게 된다.
여기서는 /home/docker 패스에 1T SSD를 마운트 하여 도커 전용으로 사용하기 위해 /var/lib/docker기본 패스를 변경하여 /home/docker/docker_data에서 이미지와 컨테이너 데이터를 관리하도록 변경한다
>mkdir -p /home/docker/docker_data
>vi /etc/docker/daemon.json
파일 수정 (없으면 생성)
{
"graph":"/home/docker/docker_data",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
도커 데몬 재시작
systemctl restart docker.service
도커 데몬 상태확인
systemctl status docker.service
설치된 도커와 base path 변경된 것 확인
'IT > 리눅스' 카테고리의 다른 글
(1) 리눅스에서 오디오 제어를 위한 기초(Alsa, PulseAudio 등 개념) (0) | 2023.09.15 |
---|---|
윈도우 아나콘다 파이썬 버전 간단히 변경하기 (windows, anaconda, python) (0) | 2023.09.12 |
Rockylinux rc.local 설정하기(rc-local.service, WantedBy) (0) | 2023.08.23 |
WSL 간단 설치 및 실행하기(Ubuntu on Windows 11) (0) | 2023.06.28 |
WSL의 개념, WSL1, WSL2 비교(Window Subsystem for Linux) (0) | 2023.06.27 |