Мне нужно обмениваться определенными устройствами с /dev
на моей машине с хостом Linux с моими контейнерами докеров.
Флаг --privileged
работает для совместного использования любых устройств в /dev
, которые присутствуют в момент вызова docker run
, но любые последующие добавленные или удаленные устройства не распространяются в контейнер.
Я попробовал docker run -v=/dev:/dev ...
, но это закончилось тем, что оно зависало с разрешениями и правами на файлы, такие как /dev/pts, что привело к тому, что хост-машина не смогла создать новые psuedo-терминалы.
Я также попробовал флаг --device
, но это не позволяет вам совместно использовать устройство, которое еще не существует.
Наконец, я попробовал использовать тома для таких устройств, как -v=/dev/video0:/dev/video0
, но если /dev/video 0 не существует перед запуском, docker создает там директорию, и веб-камера не будет принимать /dev/video 0 при подключении.
Есть ли лучший способ получить эту поддерживаемую функциональность?