코드민수
[도커] 도커 이미지 생성, 저장, 실행(리눅스) 본문
Linux, 3090Ti, CUDA11.2, cudnn 8.2 기준
1. 파이토치 환경 도커 이미지 만들기
1) pull pytorch image (Base Image)
https://hub.docker.com/r/pytorch/pytorch/tags?page=1&ordering=last_updated
Docker
hub.docker.com
docker pull pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime
2) run pytorch image (컨테이너 생성)
docker run --gpus all --shm-size=16g --name=cimjuk_yolo -ti pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime /bin/bash
docker run --gpus all --shm-size=<메모리> --name=<컨테이너명> -ti <이미지:tag> /bin/bash
3) 데이터, 소스코드 복사
docker cp /home/geocom/data/pgh/cimjuk cimjuk_yolo_torch:/workspace/cimjuk
docker cp <복사할폴더(로컬)> <컨테이너:붙여넣을경로>
4) 필요 라이브러리 설치 & 실행 test
5) 컨테이너 이미지로 저장 (commit)
docker commit cimjuk_yolo pknu:cimjuk_yolo
docker commit <컨테이너명> <new이미지명:tag>
6) 이미지 저장
docker save -o /home/geocom/data/pgh/cimjuk/cimjuk_yolo.tar.gz pknu:cimjuk_yolo
docker save -o <파일명(로컬)> <이미지명:tag>
7) tar.gz 파일 load 후 작동하는지 test
docker load -i cimjuk_yolo.tar.gz
2. 도커 이미지 설치 후 실행
1) 도커 이미지 설치 (tar.gz 위치한 경로에서)
docker load -i cimjuk_yolo.tar.gz
2) run pytorch image (컨테이너 생성)
docker run --gpus all --shm-size=16g --name=cimjuk_yolo -ti pknu:cimjuk_yolo /bin/bash
docker run --gpus all --shm-size=<메모리> --name=<컨테이너이름> -ti <이미지:tag> /bin/bash
3) 소스코드 경로 접속
cd /workspace/cimjuk/code
4) 소스코드 실행
python test.py --task test --batch-size 16 --data data/cimjuk.yaml --weights cimjuk.pt --name cimjuk_test --save-txt --save-conf --verbose
기타 정리사항
1) 도커 이미지 & 컨테이너 확인
이미지: docker images
컨테이너: docker ps -a
2) 도커 이미지 & 컨테이너 삭제
이미지: docker rmi <이미지:tag>
컨테이너: docker rm <컨테이너명>
3) 컨테이너 실행
docker start <이름>
docker attach <이름>
4) 폴더 복사
로컬 → 도커
docker cp /home/geocom/data/pgh/cimjuk cimjuk_yolo_torch:/workspace/cimjuk
docker cp <복사할폴더> <컨테이너:붙여넣을경로>
5) 이미지 생성 및 tar.gz 파일로 저장
docker commit <컨테이너명> <new이미지명:tag>
docker save -o <파일명> <이미지명:tag>
* 참고
1. opencv-python 설치 시 발생하는 오류1
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
해결법 :
apt-get update
apt-get -y install libgl1-mesa-glx
2. opencv-python 설치 시 발생하는 오류2
libgthread-2.0.so.0: cannot open shared object file
해결법 :
apt-get install libglib2.0-0
3. 넘파이 버전 에러
AttributeError: module 'numpy' has no attribute ‘int’
해결법:
pip install numpy==1.22.4 (환경 별로 버전 다를 수 있음)
'[기타]' 카테고리의 다른 글
[MS COCO] COCO annotation 포맷 (0) | 2023.05.12 |
---|---|
[Windows] 어쩌다 발견한 유용한 단축키 (작업표시줄 실행 단축키) (0) | 2023.05.07 |
[ImageJ] Labkit GPU 활성화 (0) | 2023.04.30 |
[도커] YOLO 환경 구축 시 필요한 라이브러리 및 오류 해결 (0) | 2023.04.25 |
[도커] 윈도우에서 WSL2를 사용하여 도커 설치 (0) | 2023.04.22 |