# Розгорнула контейнерний рівень на Podman і Quadlet під systemd, а не на Docker, бо Docker публікує порти контейнерів над власними правилами фаєрвола хоста, — і дала розгортанням непривілейованого користувача з однією фіксованою командою замість root.

вересень 2026

**Ситуація.** Платформі потрібне було місце для запуску контейнерів застосунків. Очевидним вибором був галузевий усталений варіант, і очевидний вибір був хибним для цього хоста в конкретний спосіб: він переписує правила фільтра пакетів ядра та публікує порти контейнерів вище за правила брандмауера, які встановлює роль посилення захисту, тож контейнер тихо стає досяжним з інтернету незалежно від того, що сказали брандмауерові.

**Завдання.** Треба було обрати контейнерну площину, що не обходить брандмауер, не додає другого наглядача поруч із тим, якому вже довіряють, і не вимагає бути root, щоб випустити реліз.

**Дія.** Площиною є бездемонний контейнерний рушій, що керує модулями, згенерованими власним наглядачем операційної системи. Другого менеджера процесів немає: контейнери є службами, вони запускаються так, як запускаються служби, і описані в тій самій декларативній формі, що й усе інше. Контейнери використовують мережу хоста без жодних опублікованих портів, що усуває питання обходу брандмауера, а не пом'якшує його. Модулі виконуються на системному рівні, а не безкореневими, і це записано як обмін — так автоматизація лишається простою та звичною, ціною суворішої ізоляції, яку дав би безкореневий режим, і примітка каже, у який бік рухатися, якщо втеча з контейнера колись важитиме більше за простоту автоматизації. Розгортання відокремлено від конфігурування: root один раз налаштовує шлях розгортання, а далі непривілейований користувач перерозгортає, виконуючи один незмінний скрипт через обмежене правило, що дозволяє саме цю команду й жодних аргументів. Зібрати образ, перезапустити службу. Жодної кореневої оболонки, жодних довільних команд.

**Результат.** Контейнери працюють під наглядачем, якому вже довіряли, за брандмауером, який уже було оголошено, а звичайний реліз не потребує привілейованого доступу. Вибір проти усталеного варіанта записано разом із його причиною, і це важить більше за сам вибір — наступній людині кожна стаття, яку вона прочитає, радитиме взяти усталений.

---

- Роль: Інженер з автоматизації інфраструктури
- Категорії: [DevOps](https://platform.engineer.company/uk/categories/devops/), [Інфраструктура](https://platform.engineer.company/uk/categories/infrastructure/), [Контейнери (Docker/Kubernetes)](https://platform.engineer.company/uk/categories/containers/), [Автоматизація та CI/CD](https://platform.engineer.company/uk/categories/automation/), [Linux та сервери](https://platform.engineer.company/uk/categories/linux/), [Безпека](https://platform.engineer.company/uk/categories/security/)
- Послуги: [Хмарна інфраструктура та міграція](https://platform.engineer.company/uk/services/cloud-infrastructure/), [DevOps та автоматизація CI/CD](https://platform.engineer.company/uk/services/devops-cicd/), [Контейнеризація та оркестрація](https://platform.engineer.company/uk/services/containerization/), [Безпека та керування доступом](https://platform.engineer.company/uk/services/security-access/)

<https://platform.engineer.company/uk/portfolio/deployed-a-container-plane-on-podman-and-quadlet-122/>
