如何让docker容器中的应用播放声音
目录
从 run apps using audio in a docker container 上看到的
ALSA
只需要挂载 /dev/snd
同时开放硬件访问权限即可
docker run -ti --rm \ --device /dev/snd \ cmus
PULSEAUDIO
需要挂载 /dev/shm
, /etc/machine-id
, /run/user/$UID/pulse
和 /var/lib/dbus
(因为有些应用通过访问 /var/lib/dbus/machine-id 来获取machine id)
同时环境变量 XDG_RUNTIME_DIR
的值也需要跟主机系统一致
docker run -ti --rm \ --device /dev/shm \ -v /etc/machine-id:/etc/machine-id \ -v /run/user/$uid/pulse:/run/user/$uid/pulse \ -v /var/lib/dbus:/var/lib/dbus \ -e XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR} \ myContainer