Команда DevOps в Mir Plat.Form применила режим Rootless Docker для миграции Jenkins в Kubernetes и развертывания динамических агентов. Такой подход позволяет повысить безопасность, исключая работу Docker-демона с правами суперпользователя.

В режиме Rootless весь стек Docker, включая рантаймы и утилиты, функционирует от имени непривилегированного пользователя. Это снижает риски захвата хост-системы при компрометации контейнера или ошибках в конфигурации.

Техническая реализация опирается на пространства имен пользователей (UserNS) для маппинга UID/GID, утилиту slirp4netns для эмуляции сетевого стека и fuse-overlayfs для работы с файловыми системами.

Для корректной работы в Kubernetes рекомендуется запускать Docker как systemd-юнит через скрипт dockerd-rootless-setuptool.sh. Это обеспечивает создание необходимых cgroups, что критично для работы плагинов Jenkins, таких как withDockerContainer.

Процесс установки включает пакет docker-ce-rootless-extras, настройку переменных окружения DOCKER_HOST и PATH, а также активацию пользовательского сервиса через systemctl и loginctl для автоматического запуска демона.