SharUpOff | Code
88 subscribers
38 photos
16 links
Download Telegram
🤔 Почему мы с командой не используем python:alpine?


FROM python:alpine
RUN pip install poetry --no-cache-dir

🚫 В Alpine Linux вместо glibc - musl. До недавнего времени установка библиотек Python с бинарными зависимостями требовала их сборки.

✔️️️️ Благодаря PEP 656 появились скомпилированные пакеты для musl. Но не на все платформы.

Значительная часть наших разработчиков использует macOS. Это удобная ОС для работы с Python. После GNU/Linux, конечно 😏

Наш Dockerfile выглядел бы так:

FROM python:alpine

RUN apk add --no-cache gcc libc-dev libffi-dev && \
pip install poetry --no-cache-dir && \
apk del gcc libc-dev libffi-dev

🐌 Это на порядок замедлило бы сборку. Особенно, если речь о multi-stage builds с различающимся набором зависимостей.

А если не удалять пакеты, в чём тогда смысл alpine? 🤔

Не убедительно? Вот ещё две статьи про выбор образа:
- https://pythonspeed.com/articles/base-image-python-docker-images/
- https://pythonspeed.com/articles/alpine-docker-python/

#python #docker #alpine #musl #macos
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6