Alpine Linux: почему я перевёл все Docker-образы на него
Alpine Linux — это любовь с первого взгляда. Я искал лёгкий дистрибутив для Docker-контейнеров и наткнулся на Alpine. Он весит 5MB в минимальной конфигурации против 200MB у Ubuntu.
Первое что удивило — пакетный менеджер apk. Быстрый, простой, без лишней магии. apt-get отдыхает.
Другое дело — философия. В Alpine нет systemd, используется OpenRC. Для тех кто привык к systemctl — это культурный шок. Но когда разобрался, оценил простоту.
На серверах я всё равно использую Ubuntu (навыки, экосистема). Но в контейнерах — только Alpine. Образ с PHP 8.3 на Alpine весит 25MB, на Ubuntu — 300MB. Разница колоссальная.
Не рекомендую Alpine для десктопа или сервера если вы новичок. Это минимализм, где многое нужно донастраивать руками. Но для контейнеров — идеал.
Alpine рулит в Docker. Образы минимальные, скорость сборки выше, уязвимостей меньше.
OpenRC — спорное удовольствие. Но для контейнеров норм.
5MB vs 200MB — аргумент для всех кто платит за трафик при пуше образов.
На сервере использовать бы не стал. Но для Docker — лучший выбор.
Перевёл все свои образы на Alpine. Место на диске освободилось значительно.
apk быстрее apt, согласен. Но musl вместо glibc иногда приносит сюрпризы.
Наконец-то внятное объяснение. А то везде вода водой. С нетерпением жду новых статей.
Спасибо! У меня как раз назрела такая задача.
Сколько лет уже в теме, а узнал новое. Спасибо!
Поделился с коллегами. Все оценили, спасибо! Поделился в своём блоге со ссылкой на тебя.
А если сайт высоконагруженный — такая конфигурация вывезет? Аналогичным образом настроил — всё ок.
В тему. Сколько времени на администрирование уходит?
Согласен с каждым пунктом. Особенно про боль с настройкой. А docker-compose версию планируешь?
Доходчиво объяснил. А если сайтов 10 на одном сервере?
Сам такой же путь прошёл. Сколько времени заняла настройка?