подстановочное устройство - PullRequest
1 голос
/ 04 июня 2019

Мне нужно передать все видео, аудио или USB-устройства в контейнер.

devices:
  - "/dev/video*:/dev/video*"

Это, очевидно, не работает.Но я платформа, на которой работает контейнер, может иметь 2, 3 или более видеоисточников, и мне нужно передать все это в контейнер докера.

У кого-нибудь есть идеи, как сделать это возможным с помощью docker-compose?Я не хочу использовать привилегированный режим.

Спасибо!Martin

1 Ответ

1 голос
/ 04 июня 2019

Вы можете сопоставить /dev с контейнером и добавить разрешение cgroups для устройства.

Если непосредственно используется команда docker, см. this

docker run -it --rm -v /dev:/dev --device-cgroup-rule='c *:* rmw' ubuntu:18.04 /bin/bash

Вы можете изменить первую * в приведенной выше команде на основной номер устройства, если вы хотите ограничить некоторые устройства.

Для compose, кажется, просто 2.3 может поддерживать это (я не уверен, почему 3 не поддерживает, может быть, нужно время), см. this

version: "2.3"
services:
  backend:
     image: ubuntu:18.04
     device_cgroup_rules:
       - 'c *:* rmw'
     volumes:
       - /dev:/dev
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...