如何在docker中获得网络摄像头访问权限?
我正在尝试从docker image访问网络摄像头。我的权限:如何在docker中获得网络摄像头访问权限?,docker,permissions,webcam,vlc,Docker,Permissions,Webcam,Vlc,我正在尝试从docker image访问网络摄像头。我的权限: dockerx@85ca088a4e0c:~$ ls -la /dev/vid* crwxrwxrwx+ 1 root 986 81, 0 May 29 08:52 /dev/video0 crwxrwxrwx+ 1 root 986 81, 1 May 29 08:52 /dev/video1 dockerx@85ca088a4e0c:~$ groups dockerx dockerx : dockerx root v
dockerx@85ca088a4e0c:~$ ls -la /dev/vid*
crwxrwxrwx+ 1 root 986 81, 0 May 29 08:52 /dev/video0
crwxrwxrwx+ 1 root 986 81, 1 May 29 08:52 /dev/video1
dockerx@85ca088a4e0c:~$ groups dockerx
dockerx : dockerx root video x2gouser
因此,理论上,我有访问/dev/video*的权限,但尝试访问(例如通过vlc)会导致错误:
dockerx@85ca088a4e0c:~$ vlc
VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)
[00005629e3774420] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-dockerx'
[00005629e3778390] main playlist: playlist is empty
[00007f5ca80010e0] v4l2 demux error: cannot open device '/dev/video0': Operation not permitted
[00007f5ca80010e0] v4l2 demux error: cannot open device '/dev/video0': Operation not permitted
[00007f5ca8003350] v4l2 stream error: cannot open device '/dev/video0': Operation not permitted
[00007f5ca000c800] v4l2 demux error: cannot open device '/dev/video1': Operation not permitted
[00007f5ca000c800] v4l2 demux error: cannot open device '/dev/video1': Operation not permitted
[00007f5ca000d130] v4l2 stream error: cannot open device '/dev/video1': Operation not permitted
QObject::~QObject: Timers cannot be stopped from another thread
为什么会发生这种情况
Upd.:
,
UPD2。如果你投反对票,请花一分钟说明原因。谢谢。添加特权选项
docker run--privileged
。如果它仍然不起作用,你也可以考虑安装<代码> /DEV/VIEW/COD>
从
默认情况下,不允许容器访问任何设备,但
“特权”容器可以访问所有设备(请参阅
关于cgroups(设备)的文档
这个答案也很相似非常感谢,这很有帮助。有趣的是,很多关于这个主题的手册都没有提到它。。