Как выполнить чистую установку Python из исходного кода в контейнере Docker? (Изображение становится очень большим)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить чистую установку Python из исходного кода в контейнере Docker? (Изображение становится очень большим)

Сообщение Anonymous »

В настоящее время мне нужно создать образы Docker, которые собирают Python из исходного кода (например, нам нужны две разные версии Python в контейнере: одна версия Python для сборки и одна для тестирования приложения, также нам нужно точно указать версию Python мы хотим установить, а более новые версии не поддерживаются, например, с помощью apt install).
Моя проблема в том, что a.t.m. что размер изображения становится очень большим, если вы собираете Python из исходного кода, и все же я не до конца понимаю, почему.
В качестве примера возьмем следующее изображение. :

Код: Выделить всё

# we start with prebuild python image to set system python to 3.13
FROM WWW.SOMEURL.COM/python:3.13-slim-bullseye

# now we install the build dependencies required to build python from source
RUN apt update -y &&\
apt upgrade -y &&\
apt-get install --no-install-recommends --yes \
build-essential \
zlib1g-dev \
libncurses5-dev \
libgdbm-dev \
libnss3-dev \
libssl-dev \
libreadline-dev \
libffi-dev \
libsqlite3-dev \
libbz2-dev \
git \
wget &&\
apt-get clean

# next we altinstall another python version by building it from source
RUN   cd /usr/src &&\
wget "https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz" &&\
tar xzf "Python-3.11.11.tgz" &&\
cd "Python-3.11.11" &&\
./configure &&\
make altinstall

# finally we remove the build dependencies to safe some space
RUN apt-get remove --purge  -y \
build-essential \
zlib1g-dev \
libncurses5-dev \
libgdbm-dev \
libnss3-dev \
libssl-dev \
libreadline-dev \
libffi-dev \
libsqlite3-dev \
libbz2-dev \
git \
wget &&\
apt-get autoremove --purge -y &&\
apt-get autoclean -y

# verify installation
RUN echo "DEBUG: Path to alt python: $(which python3.11) which has version $(python3.11 --version)"
Для меня этот процесс приводит к очень большому образу, в то время как сама установка Python не должна быть такой большой (~ 150-200 МБ на локальном компьютере). Однако похоже, что чистая установка Python из исходного кода добавляет к образу около 800 МБ. Почему это так?
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/793 ... r-image-ge
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»