docker - docker-compose 设备通配符
问题描述
我需要将所有视频或音频或 USB 设备传递给容器。
devices:
- "/dev/video*:/dev/video*"
这显然行不通。但我是容器运行的平台,可能有 2、3 或更多视频源,我需要将所有这些都传递到 docker 容器中。
任何人都有一个想法,如何使用 docker-compose 实现这一点?我不想使用“特权”模式。
谢谢!马丁
解决方案
您可以映射/dev
到容器,并为设备添加 cgroups 权限。
如果直接使用 docker 命令,看这个
docker run -it --rm -v /dev:/dev --device-cgroup-rule='c *:* rmw' ubuntu:18.04 /bin/bash
*
如果您想限制某些设备,可以将上述命令中的第一个更改为主要设备号。
对于 compose,它似乎2.3
可以支持这个(我不确定为什么 3 不支持,可能需要时间),看这个
version: "2.3"
services:
backend:
image: ubuntu:18.04
device_cgroup_rules:
- 'c *:* rmw'
volumes:
- /dev:/dev
推荐阅读
- rabbitmq - Apache Beam:RabbitMqIO 水印不前进
- ios - 如何在表结构(数组)中包含 URL 并在 didSelectRowAt 中调用它们?
- powershell - 如何在不启动新的 Powershell 会话的情况下强制重新加载模块函数定义?
- python - 生成斜率的随机图
- linux - Python,多线程,套接字有时无法创建
- python - 如何在 Visual Studio Code 中调试现有的 lambda?
- c++ - 如何使用 decltype 获取向量元素的类型作为模板参数
- powershell - 如何提高目录创建速度
- android - 未使用 Room 的实体自动生成主键
- javascript - 如何在div的边界内对齐文本标题