EXSUM: Audio Support in Containers
Not many people seem to know how to support audio in containers. Here is an example for forwarding Pulseaudio into a container.
host_ip="$(ip -4 -o a| grep docker0 | awk '{print $4}' | cut -d/ -f1)"
ss -nlp | grep 34567
docker run -it --privileged --rm \
--name pulsecontainer \
--env PULSE_SERVER=tcp:${host_ip}:34567 \
ubuntu:20.04 bash
This will open a shell into the container. However, before going there run the following on host (e.g. in new shell):
container_ip="$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' pulsecontainer)"
pactl load-module module-native-protocol-tcp port=34567 auth-ip-acl=${container_ip}
Now play audio in container, e.g. online radio via MPlayer:
apt update && apt install -y mplayer
mplayer -playlist "http://www.ndr.de/resources/metadaten/audio/m3u/ndrloop5.m3u"
Leave a Reply
Want to join the discussion?Feel free to contribute!