Как запустить команду sudo на хост-машине из контейнера Docker без --privileged - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть докер-контейнер, вносящий изменения в хост-сеть. Модификация таблиц ip работает нормально:

docker run --net=host --cap-add=NET_ADMIN myimage

Проблема в том, что мне нужно очистить кэш маршрута на хост-машине из контейнера:

/sbin/ip route flush cache

Что не получается с выводом:

не может открыть '/ proc / sys / net / ipv4 / route / flush': файловая система только для чтения

Это ожидается, так как

user@ubuntu-virtual:~$ ll /proc/sys/net/ipv4/route/flush
--w------- 1 root root 0 Sep  5 10:11 /proc/sys/net/ipv4/route/flush

Я бы предпочел не использовать режим --privileged из-за проблем безопасности. Есть ли обходной путь для выполнения только этой единственной команды с привилегиями?

...