Я пытаюсь разработать образ докера для тестирования SocketCAN (с vcan), который будет работать на MacOS и Windows, и все нормально, пока я не запущу candump vcan0 , который возвращает: "socket: семейство адресов не поддерживается протоколом "
Через некоторое время мне удалось заставить его работать в Linux, запустив контейнер с параметром --network = host --privileged. Тем не менее, это не работает на контейнере, запущенном на Mac, который возвращает:
socket: Address family not supported by protocol
Строка "Candump Vcan0" показывает, что останавливается на этом вызове:
socket(AF_CAN, SOCK_RAW, 1) = -1 EAFNOSUPPORT (Address family not supported by protocol)
Что странно, это то, что хотя «--network = host» не должно поддерживаться на Mac (https://docs.docker.com/network/host/), имя хоста контейнера показывает образ LinuxKit (виртуальная машина, на которой работают контейнеры):
root@linuxkit-025000000001:~#
Модуль vcan, конечно, загружен:
root@linuxkit-025000000001:~# lsmod
Module Size Used by
vcan 16384 0
xfrm_user 32768 1
xfrm_algo 16384 1 xfrm_user
Не знаю, что еще попробовать;)