들어가기 앞서..
로컬에서 개발을 한 후에, 로컬 내에 도커를 사용하려고 했지만, Dockerfile을 작성할 때 slim으로만 작성하고 있었다.
문득 여러 이미지 종류가 있는데 왜 slim만 사용했을까 라는 의문을 가지기 시작해서 도커의 이미지 종류에 대해서 공부해보려고 한다.
개인적인 공부 목적으로 작성한 것이므로, 잘못 이해하는 부분이 있을 수 있습니다.
1. 이미지 종류
- name:version
- name:version-stretch
- name:version-buster
- name:version-jessie
- name:version-slim
- name:verseion-alpine
1) name:version
가장 기본이 되는 이미지로 보통 사람들이 무엇을 사용해야할지 모르는 상황일 때 해당 이미지를 사용한다. (Base 이미지)
해당 버전의 이미지는 가장 최근의 안정적인 데비안 운영 체제 릴리스를 기반으로 한다.
python:3.9
2) name:version-stretch or :version-buster or :version-jessie
데비안 계열 이미지를 베이스로 배포되었으며, 이미지가 어떤 릴리즈를 기반으로 배포되었는지를 알 수 있는 척도가 된다.
이미지 안에 몇가지 패키지를 추가로 설치하고 싶을 때 배포 시 발생하는 에러를 최소화하기 위해서는 위 태그들 중 하나를 명시해 놓은 것이다.
python:3.9-buster
3) name:version-slim
실행하는데 필요한 푀소한의 패키지만 설치된 이미지이다. 즉 순수하게 해당 패키지(파이썬)만 실행할 수 있는 이미지를 말한다.
배포 환경에 용량제한이 심하거나 순수하게 패키지만 실행하는 환경이 아니라면 사용하지 않는 것이 좋다.python:3.9-slim
4) name:version-alpine
apline-linux를 기반으로 제작된 이미지이다. 이 이미지는 컨테이너 내부에서 사용하기 위해 특별히 제작된 운영체제이며, 이미지를 굉장히 작게 만들어서 용량이 매우 작기로 유명하다. (추천)python:3.9-alpine
'DevOps > Docker' 카테고리의 다른 글
[Docker] 로컬에서 docker-compose를 이용한 Gunicorn 적용 (2) (0) | 2022.06.02 |
---|---|
[Docker] 로컬 환경에서 Django와 MySQL을 docker-compose로 구동 (with. .env파일생성) (1) (0) | 2022.06.02 |
[Docker] GCP 에서 docker로 django 웹 서버 구동 (0) | 2022.04.04 |
[Docker] django 터미널에서 docker-compose를 이용하여 개발환경 구성하기 (0) | 2022.04.03 |
[Docker] 4. Django 개발 환경 세팅 (0) | 2022.04.03 |