일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- paddlepaddle
- paddleocr한국어
- python시각화
- docker사용법
- paddlemultigpu
- addingembedded
- matplotlib한글깨짐
- ppocr
- gitrepository
- 우분투
- paddleocr후기
- paddleocrgpu
- 도커이미지
- docker container
- PyTorch
- dockergpu
- paddleocr
- pp-ocr한국어
- Docker
- paddlepaddleocr
- 우분투22.04
- ppocrexportmodel
- 도커
- opencv오류
- python데이터시각화
- python
- paddlepaddlegpu
- vscodesshkey
- gitpostbuffer
- postbuffer
- Today
- Total
D_ontory : 개발스토리
[Ubuntu 22.04] Docker 설치하기 + Nvidia docker2 설치하기 본문
갑자기 서버 오류로 인해 기존 우분투(Ubuntu)를 밀고 새로 설치해야 하는 상황이 왔다....
이렇게 된 이상 pytorch 2.0 맛이나 보자 하고, ubuntu 부터 cuda, cudnn, docker 등등 개발에 필요한 환경을 모두 새로 설치하고 있다.
설치 되어 있는 상황이 당연했는데, 이렇게 하나씩 모두 설치해야 된다는 것을 다시 한 번 깨닳게 되는 경험이었다^^
아무튼, 이런 일이 두번, 세번 다시 일어나지 않으리란 보장은 없기에 정리를 해보도록 하자....
원하는 개발환경
- Ubuntu 22.04
- CUDA 12.1 / cuDNN
- GPU NVIDIA TITAN RTX
필요 패키지 다운로드
## Ubuntu 시스템 패키지 update
sudo apt-get update
## 기본 필요 패키지 다운로드
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
Docker 다운로드
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 를 실행하면 잘 되야 하지만, 나는 오류가 났다.
(한번에 될리가 없지 ^^.....)
apt-get update 시 오류 :
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
apt-get install -y docker-ce docker-ce-cli containerd.io 오류 :
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
제대로 설치가 안된 것이 확실하지만 일단 도커 버전을 확인해보자.
docker version
# sudo snap install docker # version 20.10.24, or
# sudo apt install docker.io # version 20.10.21-0ubuntu1~22.04.3
# sudo apt install podman-docker # version 3.4.4+ds1-1ubuntu1
docker 버전을 물어보니, 해결책을 제시해 주었다.
ubuntu 버전에 따라서 설치하는 방법이 조금씩 바뀐듯 싶었다.
나는 22.04 이므로, sudo apt install docker.io 를 적용해보겠다.
sudo apt install docker.io
# 다시 한번 더!
docker version
# error message :
# Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
무언가 권한이 없다는 오류메세지가 뜬다.
sudo chmod 666 /var/run/docker.sock
위 명령어를 적용하고 다시 docker version 을 입력해보면 정상적으로 출력되는 것을 볼 수 있다!
Nvidia-docker2 설치
nvidia docker 설치는 gpu를 사용하여 도커 컨테이너를 돌린다면 필수로 설치해줘야 한다.
나는 nvidia container image를 자주 사용하기 때문에 nvidia docker를 아주 잘 쓰고 있다.
- docker run --rm --gpus all ubuntu:18.04 nvidia-smi
대부분 컨테이너를 생성할 때 --gpus all 을 사용할텐데, 이게 가능 한 이유가 nvidia docker를 설치했기 때문이다.
(정확하진 않지만... 아무튼 오류 있으시면 언제든지 말씀해주세요!)
뿌듯하게 docker 설치를 끝냈지만, 학습하던 환경을 구성하기 위해서는 nvidia docker 까지 설치를 완료해야 한다.
sudo apt-get install -y nvidia-docker2
# Reading package lists... Done
# Building dependency tree... Done
# Reading state information... Done
# E: Unable to locate package nvidia-docker2
보편적인 방법으로 설치를 해보려 하는데, 무언가 되지 않는다. pakage가 없다는 것 같았다.
진짜 한번에 되는 일이 없다^^
sudo apt-get upgrade
## GPG 키와 저장소 추가!
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
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
# 마지막으로 다시 업데이트!
sudo apt-get update
# nvidia-docker2 설치
sudo apt-get install -y nvidia-docker2
일단 우분투 패키지들을 업데이트 해주고, GPG 키와 저장소를 추가해줘야 한다.
이렇게 하면, 무언가 안되던 것이 설치가 되기 시작한다.
## Test!
docker run --rm --gpus all ubuntu:18.04 nvidia-smi
"""
Unable to find image 'ubuntu:18.04' locally
18.04: Pulling from library/ubuntu
7c457f213c76: Pull complete
Digest: sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98
Status: Downloaded newer image for ubuntu:18.04
Tue Jun 13 05:14:41 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03 Driver Version: 530.41.03 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| 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 TITAN RTX Off| 00000000:1A:00.0 Off | N/A |
| 41% 33C P8 31W / 280W| 6MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA TITAN RTX Off| 00000000:68:00.0 Off | N/A |
| 41% 34C P8 23W / 280W| 15MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
+---------------------------------------------------------------------------------------+
"""
테스트용 도커 이미지를 생성 했을 때 저런 화면이 나온다면 성공!