2016-08-06 4 views
0

Возможно ли запустить SystemTap внутри контейнера докера, который равен не привилегирован? Я установил /lib/modules и /sys/kern/debug внутри контейнера и предоставил контейнеру все возможности, но это не помогло. Хотя SystemTap действительно устанавливает модуль без проблем, он не может подключиться к модулю в проходе 5 с ошибкой: не удается открыть канал управления модулем.Запуск SystemTap внутри непривилегированного контейнера докеров

+0

Вы можете запустить stap -vv [...], чтобы найти командную строку staprun, которую он вызывает для pass 5, затем запустить это вручную под # strace, чтобы выяснить, что происходит. – fche

+0

Да, я понял это так. Извините за поздний ответ! Я обнаружил, что debugfs был установлен только для чтения, так как он находится под/sys. Переустановка его снаружи/sys и чтение-запись решают проблему. – John

ответ

1

Решение заключается в установке debugfs с разрешениями на чтение и запись вне/sys. Без привилегированного режима/sys устанавливается только для чтения, а SystemTap не может записывать на канал управления (файл debugfs) модуля трассировщика.

Смежные вопросы