도커를 설치 후 사용하다 보면 여러 이미지들을 다운로드 받고, 이미지를 직접 만들게 된다.
그러던 중 어떤 이미지를 선택하면 좋을지 기준을 찾아보고 정리하게 되었다.
결론
1. official 이미지인지 확인하기 (도커 허브 혹은 docker search $NAME 으로 확인)
2. 도커 컨테이너를 운영하는 환경 확인 후 다운로드
(도커 컨테이너가 실행되는 서버 등의 저장공간 크기, 하드웨어(gpu 등), OS 지원이 되는 이미지인지 확인)
3. 도커 컨테이너 내부의 실행 버전과 커스터마이징 정도를 판단하여 다운로드하기
(리눅스, 파이썬 버전 등을 고려하고, 기본 셋팅이 얼마나 되어 있는지에 따라 docker file 작성에 대한 공수가 달라진다)
하나씩 확인해 보자
1. 공식 이미지인지 확인하기
1) 도커 허브 사이트 : 'https://hub.docker.com/' 에서 검색하면 공식 이미지는 별도로 표시가 되어 있다.
2) 도커가 설치된 커맨드에서 확인해 보기 : official 부분에 OK가 있음
docker search $NAME
docker search python
2. 도커 컨테이너를 운영하는 환경을 확인 후 다운로드하기
--> 현재 도커를 설치한 서버의 OS는 거의 문제된 적이 없었지만,
--> 도커 이미지가 쌓이다보니 저장 공간의 자원 낭비가 되는 것 같다.
1) OS의 저장 공간 확인하기 : 리눅스(df 명령어 : 전체 공간 중 사용량 확인)
df
2) 지원 아키텍처 보기 --> 대부분은 문제없이 사용했다.
아래는 python 공식 이미지의 지원 아키텍처이다.
이미지 중에 세부 태그를 보면 특정 OS/ARCH에서 사용할 수 있게 되어 있다.
(base 이미지에 따라서 다르겠지만, 적어도 OS 등은 확인해 보면 좋을 것 같다. 대부분은 linux이다.)
만약에 하나씩 검색하기가 힘들면
도커 허브 사이트의 "Explore"를 클릭하면 좌측 카테고리에서 체크하여 필요한 이미지를 찾을 수 있다.
3. 도커 컨테이너 내부의 실행 버전과 커스터마이징 정도를 판단하여 다운로드하기
도커 컨테이너가 실행되어야 하는 버전을 확인하고, 추가로 설치하는 패키지들의 정도에 따라서 이미지를 선택할 수 있다.
데이터 분석에서 많이 사용하는 python을 기준으로 본다면
"gpu 사용 여부", "jupyter notebook 사용 여부", "tensorflow 사용 여부" 등을 기준으로 생각할 수 있다.
tensorflow gpu를 모델에 사용한다고 하면, 도커 컨테이너에 tensorflow gpu 환경을 셋팅해야 하는데 이미 셋팅이 잘 된 이미지가 있다면 그것을 기반으로 추가 패키지를 설치하는 것이 간편하다.
jupyter notebook의 경우에도 마찬가지이다.
* 개인적으로는 tensorflow gpu랑 jupyter notebook 도커 이미지는 아래 이미지들을 사용하였는데 셋팅도 편하고 사용도 잘 하고 있다.
docker pull jupyter/datascience-notebook
docker pull tensorflow/tensorflow-2.7.0-gpu
첫번째는 데이터 분석에 많이 사용하는 패키지들이 이미 설치되어 있고 jupyter-notebook 서버를 띄워 사용 가능하다
두번째는 nvidia gpu 사용할 때 편했다.
도커 이미지 태그 설명 (도커 라이브러리 공식 문서 기준)
이미지명:tag | 설명 | python |
NAME:version | 공식적인 이미지 파일 base 이미지로 주로 사용 안정적인 사용 가능 (alpine이나 slim은 충분한 테스트 권고) |
python 이미지 있음 |
NAME:version-busybox | 최소한의 기능만 있는 리눅스 임베디드 장지 사용 패키지 관리가 없음 |
|
NAME:version-alpine | 알파인 리눅스 프로젝트 베이스 busybox+패키지관리자 슬림보다 용량이 작음 bash 없음 musl 경량화 되어 있는 c library 사용 |
python 이미지 있음 |
NAME:version-slim | 기본 실행 패키지 | python 이미지 있음 pip install 가능 |
NAME:version-windowsservercore | 윈도우 서버에서 사용 | python 이미지 있음 |
NAME:version-stretch | 데비안 릴리즈 버전10(stable) | |
NAME:version-buster | 데비안 릴리즈 버전9 | |
NAME:version-jessie | 데비안 릴리즈 버전8 | |
NAME:version-bullseye | 데비안 릴리즈 unstable | |
NAME:version-Bookworm | 데비안 릴리즈 unstable |
[참조]
2. https://github.com/docker-library/docs
3. https://daaa0555.tistory.com/267
'인프라 > Docker' 카테고리의 다른 글
[도커 error 해결] 도커 주피터 노트북에서 파일 생성이 안 될 때 (0) | 2022.07.01 |
---|---|
[한번에 끝내는 환경 구축] 도커 설치(gpu)부터 이미지 생성 및 컨테이너 사용까지 (0) | 2022.06.30 |