Как создать звуковые устройства для debian в докере?

Я использую различные контейнеры докеров, которые под крышками построены на Debian sid. Этих изображений не хватает /dev/snd и /dev/snd/seq, что в значительной степени имеет смысл, поскольку у них нет аппаратной аудиокарты.

Несколько частей программного обеспечения, которое я использую для создания MIDI файлов, требуют наличия этих устройств секвенсера. Они не обязательно используются для отправки аудио, но сам код умирает в init, если звуковые устройства не существуют. Чтобы быть ясным, мне не нужно генерировать аудиосигнал в докере, но мне просто нужно, чтобы они существовали, чтобы сделать другое программное обеспечение счастливым.

До сих пор то, что я пробовал, бесконечно устанавливает различные пакеты alsa (alsa-utils, alsa-oss и т.д.) и пытается modprobe выйти из этого, не получив удачи.

В контейнере докеров, что должно произойти с имеющимися аудиоустройствами, даже если фиктивный?

Ответ 1

Вы можете вставить модуль ядра snd-aloop и указать 2 в качестве индекса устройства звуковой циклы на вашем хосте:

sudo modprobe snd-aloop index=2
docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desk

см. это