Я упаковываю приложение Python в докер с помощью nix dockerTools
, и все хорошо, кроме размера изображения. Сам Python весит около 40 Мб, а если добавить numpy
и pandas
, получится несколько сотен мегабайт, а код приложения всего ~100 КБ.
Единственное решение, которое я вижу, это упаковать зависимости в отдельный образ, а затем унаследовать от него основной, это не исправит размер, но, по крайней мере, мне не нужно будет передавать огромные изображения при каждом коммите. Также я не знаю, как это сделать, должен ли я использовать какой-либо образ с nix или создать среду с pythonPackages.buildEnv
и прикрепить к нему свое приложение?
Было бы здорово иметь какое-то универсальное решение, но было бы хорошо, если бы оно было специфичным для Python. Даже если у вас есть несовершенное решение, пожалуйста, поделитесь.
Хорошо, с атрибутом fromImage
для buildImage
я разделил один огромный слой на огромный уровень зависимостей и небольшой слой кода приложения. Интересно, есть ли способ переместить этот толстый слой зависимостей в отдельный образ, чтобы я мог поделиться им с другими моими проектами?