환경
1. Docker베이스 이미지의 CentOS버전 7.6.1810이라고 가정
2. 이하 Command실행 환경의Linux버전 CentOS Linux release 7.9.2009 (Core)
2. 이하 Command실행 환경의 Docker version 20.10.11
3. 다운로드 할 Python버전이 3.8이라고 가정
Python의 RPM다운로드 디렉토리 생성
OUTPUT_DIR=/tmp/python38
mkdir -p ${OUTPUT_DIR}
CentOS베이스 이미지로 Docker작성과 기동
TAG=7.6.1810
sudo docker run -it --rm -v ${OUTPUT_DIR}:/mnt centos:${TAG} bash
Python의 RPM다운로드
yum install -y centos-release-scl
yum -y --downloadonly --downloaddir=/mnt install rh-python38
exit
다운로드한 Python의 RPM확인
ls -l ${OUTPUT_DIR}
libtirpc-0.2.4-0.16.el7.x86_64.rpm
rh-python38-2.0-4.el7.x86_64.rpm
rh-python38-python-3.8.13-1.el7.x86_64.rpm
rh-python38-python-libs-3.8.13-1.el7.x86_64.rpm
rh-python38-python-pip-19.3.1-3.el7.noarch.rpm
rh-python38-python-pip-wheel-19.3.1-3.el7.noarch.rpm
rh-python38-python-setuptools-41.6.0-7.el7.noarch.rpm
rh-python38-python-setuptools-wheel-41.6.0-7.el7.noarch.rpm
rh-python38-runtime-2.0-4.el7.x86_64.rpm
scl-utils-20130529-19.el7.x86_64.rpm
위와 같은 방법으로 다운로드한 패키지를 Dockerfile추가해서 Docker이미지를 작성하면 특정 베이스이미지에 특정 패키지를 추가할 수 있다.
비슷한 방법으로 Docker이미지에 특정 Python Package를 다운로드 하는 방법도 응용할 수 있다.