Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在docker中获得网络摄像头访问权限?_Docker_Permissions_Webcam_Vlc - Fatal编程技术网

如何在docker中获得网络摄像头访问权限?

如何在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

我正在尝试从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 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(设备)的文档


这个答案也很相似

非常感谢,这很有帮助。有趣的是,很多关于这个主题的手册都没有提到它。。