За даними Howtogeek, хоча Docker Desktop є елегантним рішенням завдяки простому інтерфейсу та абстракції складності, його архітектура створює значні проблеми при використанні на Linux. Для функціонування він запускає приховану віртуальну машину (VM), що означає, що контейнери фактично працюють не на машині розробника, а всередині цієї VM. Цей додатковий рівень постійно вимагає ресурсів і перетворює пошук помилок на справжній кошмар.
Incus: відмінність від звичайних заміничів Docker
Більшість альтернатив Docker прагнуть імітувати його поведінку. Наприклад, Podman зберігає знайому модель образів та команд, а Rancher Desktop обгортає локальний Kubernetes чи контейнерний runtime у більш доступний інтерфейс. Проте Incus виходить із іншої традиції — він є спільною продовженням моделі системних контейнерів LXD. Це означає, що Incus побудований навколо ідеї управління повними середовищами Linux, а не лише окремими образами застосунків.
Контейнер Incus може відчуватися як легка VM: він має систему ініціалізації (init system), мережеві налаштування, сховище, профілі та можливість створення знімків. Розробник може підключитися до нього через SSH, встановлювати пакети та запускати сервіси, поводячись із ним як із невеликою машиною.
OCI-підтримка: ключовий фактор змін
Важливо зазначити, що підтримка OCI (Open Container Initiative) змінила всю ситуацію. Docker популяризував робочий процес, але формат образів та екосистема реєстрів більше не прив'язані виключно до досвіду Docker Desktop. З Incus можна завантажувати та запускати застосунки з таких реєстрів, як Docker Hub.
- Системний контейнер: Використовується для створення стійкого середовища, де потрібна повна операційна система.
- OCI-контейнер: Ідеально підходить для запуску вже упакованих сервісів (Nginx, Redis), коли достатній лише готовий пакет.
- VM: Залишаються доступними у випадках, коли потрібен окремий ядро або сильніший бар'єр ізоляції.
Цей зсув дозволив автору статті мати в одній локальній інфраструктурі обидва типи контейнерів. Він відзначає: «Я віддаю перевагу OCI-контейнерам, коли образ застосунку вже є правильним одиницею».
Висновок
Хоча Incus не є ідеальним заміничем Docker Compose для опису багатоконтейнерних стеків, його здатність забезпечувати гнучкість між системними середовищами та стандартизованими OCI-образами робить його потужним інструментом для професійного розгортання нативної локальної інфраструктури.