我需要将所有视频或音频或USB设备传递到容器中。
devices:
- "/dev/video*:/dev/video*"
这显然行不通。但是我在容器运行的平台上可能有2、3个或更多视频源,因此我需要将所有这些都传递到docker容器中。
任何人都知道,如何通过docker-compose实现这一目标?我不想使用“特权”模式。
谢谢! 马丁
答案 0 :(得分:1)
您可以将/dev
映射到容器,并为设备添加cgroups权限。
如果直接使用docker命令,请参见this
docker run -it --rm -v /dev:/dev --device-cgroup-rule='c *:* rmw' ubuntu:18.04 /bin/bash
如果要限制某些设备,可以将上述命令中的第一个*
更改为主要设备号。
对于撰写,似乎2.3
可以支持(我不确定为什么3个不支持,也许需要时间),请参阅this
version: "2.3"
services:
backend:
image: ubuntu:18.04
device_cgroup_rules:
- 'c *:* rmw'
volumes:
- /dev:/dev