-
파이썬 알파인 이미지란 무엇일까?파이썬/Etc. 2021. 1. 8. 13:01
유데미 아카데미 drf 프로젝트 수강중에 python:3.7-alpine 이미지를 도커 컨테이너에 올리는 챕터가 있었다. 그래서 이번 기회에 alpine이 도대체 무엇인지 알아본다!
python - Docker Hub
We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy
hub.docker.com
도커 허브에 python 검색하면 무수히 버전들이 나오는데 그 중에 alpine 버전이 있다. 스크롤을 더 내려보면 해당 버전의 의미를 알 수 있다.
python:<version>-alpine
이 이미지는 알파인 리눅스 프로젝트 기반으로 만들어진 파이썬 이미지이다. 이미지 크기가 5MB이하로 용량이 작은 것이 특징이다. 그래서 최대한 이미지의 용량을 작게해야 할 때 권장한다. glibc(GNU library C) 대신에 musl libc(임베디드 리눅스를 위한 신뢰성있는 C 라이브러리)를 사용하기 때문에 특정 패키지가 libc에 의존한다면 문제가 발생할 수 있다.
정리하자면, 알파인 리눅스 프로젝트 기반으로 만들어진 5MB보다 작은 경량형 파이썬 도커 이미지 라는 것이다.
최근에는 거의 모든 도커 이미지가 Alpine linux 기반으로 만들어진다고 한다.
그렇다면 alpine linux는 정확히 무엇일까?
about | Alpine Linux
About Alpine Linux is an independent, non-commercial, general purpose Linux distribution designed for power users who appreciate security, simplicity and resource efficiency. Small Alpine Linux is built around musl libc and busybox. This makes it smaller a
alpinelinux.org
알파인 리눅스란 가볍고 간단한 보안성 목적으로 개발한 리눅스 배포판이다. 용량을 줄이기 위해서 C 런타임을 glibc 대신에 musl libc을 사용한다. 다양한 쉘 명령어는 GNU util 대신 busybox 를 사용한다. 용량이 80M로 가볍기 떄문에 임베디드 또는 네트워크 서버등에 유용하고 특히 도커에서 5M크기의 리눅스 이미지로 널리 배포되었다.
특징 중에 하나는 패키지 매니저는 apk를 사용한다.
apk 패키지 매니저 사용 예
apk add --update --no-cache postgresql-client
References
ko.wikipedia.org/wiki/%EC%95%8C%ED%8C%8C%EC%9D%B8_%EB%A6%AC%EB%88%85%EC%8A%A4
'파이썬 > Etc.' 카테고리의 다른 글
ASGI(Asyncronous Server Gateway Interface)란? (0) 2021.05.08 Pipenv란?? (0) 2020.10.22 Python data built-in classes (0) 2020.09.27