Comments 5
Для IoT чаще всего докер вообще не нужен.
Если статично собрать бинарники - их можно на хосте запускать без зависимостей.
HA или какие-то другие питоновские приложения обычно через venv запускаются и будут нормально жить без установки системных пакетов.
При таком подходе можно сделать read-only root и жить не тужить, т.к. такие девайсы практически всегда выделяются для единственной цели и на них крутится ПО, которое редко меняется. Если там стоит HA, он и будет там стоять. Если pihole, то кроме него вряд ли что-то ещё будет и т.д.
Если за любой SBC закинуть хоть сколько-нибудь интенсивную нагрузку, работать с несколькими компонентами там будет просто невозможно.
Контейнеры там могут быть полезны только если хочется по-приколу кластер собрать и сделать бомж-кубер, чтобы тренировать оркестрацию на кошках
Иногда докер для IoT всё же нужен. Модемы с поддержкой докера — часто самый дешёвый вариант для бизнеса, если нужно запустить где-то далеко свой собственный софт и мониторить/управлять удалённо.
Некоторые производители настолько урезают операционную систему, что там даже менеджера пакетов нет, никакую библиотеку не получится установить, в том числе и питон. И свободного места оставят 100 мегабайт, чтоб всем хватило. Но если есть поддержка докера, возможности ограничены как раз только размером image.
Статично далеко не любую зависимость можно линкануть, к сожалению
Сталкивался на практике с описываемой проблемой, к счастью хватило использования урезанного image
FROM debian:7-slim
и аргумента squash для билда
docker build --squash -t your_image_name:tag .
Как уменьшить образ Docker для работы с устройствами IoT