我的docker容器应用程序可以访问主机的麦克风和扬声器吗? (Mac,Windows,Linux)

时间:2017-08-15 20:02:35

标签: docker

我正在构建无头软电话应用程序。我知道我可以用给定的工具构建wss或web服务器......但是我的web应用程序需要使用主机的扬声器和麦克风来做一些pjsip和其他编解码器。这些设备是在mac / windows / linux主机和docker容器之间共享的吗?

2 个答案:

答案 0 :(得分:4)

我不得不从docker容器中使用linux主机的麦克风和扬声器。由于在基于linux / unix的操作系统中,设备是文件系统中的特殊文件,因此该解决方案应该适用。在Windows中它不会。

我发现我在容器中使用的ubuntu映像没有使用声卡所需的ALSA驱动程序。所以在docker容器中安装它们之后:

sudo apt-get install -y alsa-base alsa-utils

并使用以下参数运行docker镜像:

docker run --device /dev/snd:/dev/snd <container_name>

它奏效了。您可以通过在容器内调用aplayarecord来测试它是否有效。

答案 1 :(得分:0)

从未尝试使用扬声器和麦克风,无论如何,您可以使用--device中的docker run选项访问主机设备。

有关详细信息,请参阅Add host device to container (–device) in Docker run reference