我正在使用各种 docker 容器,这些容器在幕后构建在 Debian sid 上。这些图片缺少 /dev/snd
和 /dev/snd/seq
,这几乎是有道理的,因为它们没有硬件声卡。
我用来生成 MIDI 文件的几个软件需要存在这些音序器设备。它们不一定用于发送音频,但如果声音设备不存在,代码本身就会在 init 中消失。需要明确的是,我不需要在 docker 中生成音频信号,我只需要这些存在即可让其他软件满意。
到目前为止,我尝试过的是无休止地安装各种 alsa 包( alsa-utils
、 alsa-oss
等)并尝试 modprobe
我的出路,这一切都没有运气。
在 docker 容器中,即使是虚拟设备,也需要发生什么才能拥有有效的音频设备?
最佳答案
通过添加运行容器的设备,我已经成功地通过 Docker 获得声音(我知道不是同一个问题)。
docker run -it --device /dev/snd myimage
权限可能会很快变得具有挑战性,您可能想最初尝试使用
--device /dev/snd
连同 --privileged
然后在它起作用后一点一点地回拨特权。
关于docker - 如何在 docker 中为 debian 创建声音设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46208266/