Что это
Contained - это инструмент для работы с контейнерами, созданный специально для Mac на базе чипов Apple Silicon. В отличие от Docker, он не использует виртуализацию, а полагается на встроенные API macOS, что позволяет запускать контейнеры напрямую. Цель проекта - предложить более лёгкую и эффективную альтернативу Docker на arm64-архитектуре, особенно там, где важны производительность и энергосбережение. Приложение написано на Swift, использует SwiftUI и поддерживает и графический интерфейс, и командную строку.
Что реально работает
Contained действительно справляется с основной проблемой - тяжёлой виртуализацией, которую Docker вынужден использовать на Mac. За счёт нативного подхода приложение потребляет меньше ресурсов и быстрее откликается. Это особенно заметно при работе от батареи. Графический интерфейс упрощает повседневное управление: можно легко запускать, останавливать и отслеживать контейнеры без постоянного доступа к терминалу. При этом командная строка остаётся доступной, что позволяет сохранять привычные рабочие цепочки. Исходный код открыт на GitHub, и его доступность уже привлекла внимание - 605 звёзд за короткое время. Это говорит о том, что инструмент затрагивает реальную потребность у части разработчиков.

Где слабые места
Проект пока находится на ранней стадии. При 605 звёздах всего 23 форка и 25 открытых issues - это указывает на слабую вовлечённость сообщества. Нет поддержки Docker Compose, что сразу исключает использование в большинстве реальных проектов, где нужно управлять несколькими связанными сервисами. Неясно, как работает работа с образами, кастомными сетями, томами и реестрами. Также отсутствуют признаки поддержки оркестрации или масштабирования. Зависимость от закрытых API Apple - серьёзный риск: если Apple изменит или ограничит доступ, функциональность может сломаться. И, главное - это не замена Docker, а узкоспециализированное решение для простых задач. Для сложных или кроссплатформенных сценариев оно не подходит.
Кому имеет смысл
Contained подойдёт разработчикам на Mac с Apple Silicon, которым нужен лёгкий способ запускать один-два контейнера локально. Особенно если они устали от шумного вентилятора и быстро садящейся батареи при работе с Docker. Тем, кто ценит нативные приложения, чистый интерфейс и низкое энергопотребление, инструмент может понравиться. Но если вы работаете с Docker Compose, Kubernetes или в команде с кроссплатформенной инфраструктурой - Contained не решит ваши задачи. Это не вариант для production, и вряд ли подойдёт как долгосрочное решение для масштабируемых проектов.

Вердикт
Contained - это узконаправленный, но технически грамотный инструмент, который отвечает на конкретный запрос: запускать контейнеры на Mac без виртуальной машины. Он не пытается заменить Docker, а предлагает альтернативу для простых сценариев. Оценка 82 балла по шкале marketHunt отражает его сильные стороны - актуальность, качество реализации - и при этом учитывает ограниченность функционала. Пока это не готовое enterprise-решение, но интересный шаг в сторону более эффективной работы с контейнерами на macOS.
- Работает без виртуализации, используя нативные API Apple
- Имеет графический интерфейс и CLI - гибкость в использовании
- Написан на Swift, открытый код - прозрачность и доверие
- Нет поддержки Docker Compose и сложных сценариев
- Зависит от проприетарных API Apple - риски будущей совместимости