У меня есть несколько контейнеров, работающих на хосте, которым необходимо обмениваться данными через сеть CAN
, к которой подключен хост. Контейнеры также взаимодействуют через IP-сеть.
Один из способов сделать это — использовать сеть host
. Тогда контейнеру становится доступен can0
сетевой интерфейс, т.е. он отображается в ip link
и может использоваться так же, как и в хосте.
Однако host
networking, конечно же, удаляет изоляцию IP-сети. В идеале я хотел бы продолжать использовать сеть bridge
для сети ip, но сделать доступной для контейнеров только интерфейс can0
.
Я понимаю, что хост-устройства в /dev
(например, USB
или audio devices
) можно сделать доступными для контейнеров с помощью переключателя --device
. Однако этот механизм работает только для блочных/символьных устройств в /dev
, а сетевые интерфейсы (такие как can0
) не имеют файла в /dev
.
Возможно ли то, о чем я прошу? А именно, используя сеть IP-моста при выборочной передаче другого сетевого интерфейса в контейнеры?
--network=host
или туннелирование трафика шины CAN через соединение UDP или TCP. - person Jos Seldenthuis   schedule 02.09.2020