-
Python 3.11.4 Base Docker Image 만들기Programming/Python 2023. 7. 14. 15:27반응형
https://betterdatascience.com/python-310-vs-python-311/
변경사항 참고
Python 3.11로 업데이트 되면서 성능 개선이 있다고 하였습니다.
공식 이미지가 있지만, 공식 이미지를 기반으로 만들다보니 에러가 많이 발생해서, Python3.11을 직접 설치 한 다음에
Python 관련 실행 파일과 라이브러리만 복사해서 쓰면 새로운 이미지를 만들 때, Python3.11을 그대로 사용할 수 있습니다.
FROM ubuntu:20.04 as python_builder ARG python_version=3.11.4 ARG python_major_version ENV DEBIAN_FRONTEND=noninteractive # 필수 패키지 설치 RUN apt-get update && apt-get install -yq software-properties-common \ wget \ build-essential \ libssl-dev \ libbz2-dev \ libffi-dev \ zlib1g-dev \ libsqlite3-dev \ tzdata \ libbluetooth-dev \ tk-dev \ uuid-dev \ && \ ln -fs /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \ dpkg-reconfigure --frontend noninteractive tzdata # Python 3.11.4 다운로드 및 설치 WORKDIR /usr/src RUN wget https://www.python.org/ftp/python/${python_version}/Python-${python_version}.tgz && \ tar xzf Python-${python_version}.tgz && \ cd Python-${python_version} && \ ./configure --prefix=/usr/local --enable-optimizations && \ make altinstall # 기본 python 커맨드를 Python 3.11.4 버전으로 설정 RUN update-alternatives --install /usr/bin/python python /usr/local/bin/python3.11 1 && \ update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 1 && \ update-alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.11 1
build 방법
docker build -t python-builder:3.11.4 .
추후에 다른 이미지에 복사할 때, 사용 방법
FROM python-builder:3.11.4 as python_builder FROM ubuntu:20.04 ENV DEBIAN_FRONTEND noninteractive SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /usr/local/bin /usr/local/lib COPY --from=python_builder /usr/local/bin /usr/local/bin COPY --from=python_builder /usr/local/lib/python3.11 /usr/local/lib/python3.11 ## CODE Start ## CODE End # 기본 python 커맨드를 Python 3.11.4 버전으로 설정 RUN update-alternatives --install /usr/bin/python python /usr/local/bin/python3.11 1 && \ update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 1 && \ update-alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.11 1
끝.
반응형'Programming > Python' 카테고리의 다른 글
How to Optimize FastAPI for ML Model Serving (0) 2023.10.04 ChatGPT를 활용한 PDF 요약봇 만들기 (0) 2023.07.14 Python FastAPI를 이용해서 빠르게 API 환경 구축하기 (0) 2022.07.28 Python3 Flask를 이용해서 Rest-API Server 만들기! (0) 2022.06.26 python 시간 계산 (0) 2022.04.20