Почему я получаю операцию RTNETLINK, не разрешенную при использовании Pipework с контейнерами Docker?

Я запускаю CoreOS stable 494.5.0 с помощью Vagrant/VirtualBox и запускаю ванильный рубин: 2.1.5 Изображение Docker. Я пытаюсь использовать Pipework для подключения контейнера Docker к локальному физическому интерфейсу (в отличие от использования --net=host при запуске контейнера), чтобы я мог обнюхать трафик. Pipework создает [email protected] в контейнере и правильно устанавливает свой IP-адрес, но ссылка заканчивается в состоянии UNKNOWN, и когда я пытаюсь подключить эту ссылку, используя ip link, я получаю RTNETLINK answers: Operation not permitted.

Если это имеет значение, я должен использовать ip link set dev eth1 up вместо ip link set dev [email protected] up, иначе я получаю Cannot find device "[email protected]".

Любые идеи, что я делаю неправильно?

Ответы

Ответ 1

Докеры-контейнеры по умолчанию не имеют полных привилегий. Попытайтесь добавить это к команде docker run:

--cap-add=NET_ADMIN

Список возможностей