Так что же мне не хватает?
Вам не хватает того, что служба
взаимодействует с init
, по сути, избегая сети пространство имен. Приложение завершает работу в том же сетевом пространстве имен, что и система инициализации (по умолчанию).
По сути, проблема в том, что служба
не просто fork
и exec
двоичный файл демона приложения (который сохранит пространство имен).Вместо этого он делает немного больше, чем передает свои параметры в init
через (я полагаю) сокет домена Unix. Безопасные контейнеры также изолируют файловую систему, чтобы предотвратить подобные вещи.
Я бы попробовал просто вызвать двоичный файл демона приложения напрямую (конечно, в разделе ip netns exec [namespace]
). Или используйте настоящую программу-контейнер, где кто-то уже разобрался со всеми сложными деталями ...