Comments 11
Хмм, последний раз когда я этим интересовался, года 3 назад, писали что ставить Питон на образ Alpine - серьёзная ошибка. потому что он потянет с собой столько зависимостей, что в итоге получится надутый мешок, который весит больше, чем если поставить Питон на образ из Убунты, и ещё использует какие-то не те библиотеки. В общем, жирным шрифтом писали так не делать.
Что-то с тех пор изменилось?
Сейчас есть официальный образ Python. Мой бот собранный на основе него весил около 91Мб (сборка в 2 этапа), образ же собранный по методу, который я описал в статье весит 89,36Мб. Для более сложных приложений придется доустанавливать кучу библиотек, тогда да - овчинка может не стоить выделки, и время будет потрачено (в том числе на сборку) и размер образа будет раздут.
У multibuild если собирать? Python+poetry+build-essential на Debian например, сборка venv с компиляцией и потом перенос на Alpine + Python?
An issue was discovered in pip (all versions) because it installs the version with the highest version number, even if the user had intended to obtain a private package from a private index. This only affects use of the --extra-index-url option, and exploitation requires that the package does not already exist in the public index (and thus the attacker can put the package there with an arbitrary version number).
NOTE: it has been reported that this is intended functionality and the user is responsible for using --extra-index-url securely
Правильно ли я понимаю, что docker scout считает уязвимыми все существующие образы с python в которых pip устанавливается отдельно за последние пять лет и продолжит считать все будущие?
А что мешало взять образ 3.12.2-alpine3.19 и обновить в нем pip?
Python 3.12.3 Release Date: April 9, 2024
Ничего не изменилось: hub.docker.com
Можете попробовать pyinstaller. Он соберет только необходимые файлы для вашего приложения в один бинарь. Решение спорное, но вроде все ваши потребности закрывает и более безопасным способом
Python в Docker — собираем образ сами