Comment jouer de la musique dans un conteneur docker
Je suis en train de dockerize un texte à la parole demande de partage de code avec d'autres développeurs, cependant la question que je vais avoir droit maintenant, c'est le conteneur docker ne peut pas trouver la carte son sur mon ordinateur hôte.
Lorsque j'essaie de lire un fichier wav dans mon conteneur docker
root@3e9ef1e869ea:/# aplay Alesis-Fusion-Acoustic-Bass-C2.wav
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:722: audio open error: No such file or directory
Je pense que le principal problème est docker conteneur est pas en mesure d'atteindre la carte son de mon hôte.
Pour l'instant j'ai
- J'ai installé alsa-utils et la plupart des alsa dépendances au sein de mon
conteneur docker. - Ajouté
--group-add audio
lors de l'exécution de la
conteneur en spécifiantdocker run --group-add audio -t -i
self/debian /bin/bash
Je ne suis pas sûr si cela est même possible avec docker(je ne suis pas exactement sûr de savoir comment les ressources matérielles comme les cartes son sont partagés avec des conteneurs). J'utilise une debian contenant sur un Mac OS Yosemite hôte.
Pour Alsa tous vous avez besoin est:
--device /dev/snd
. Mais si vous utilisez un utilisateur non root, à l'intérieur du conteneur, vous devez donner l'accès à des périphériques audio, afin de le mettre dans votre Dockerfile: RUN usermod -a -G audio USERNAME
.Sur le forum: forums.docker.com/t/how-to-get-sound/36527
OriginalL'auteur Anoop | 2016-12-11
Vous devez vous connecter pour publier un commentaire.
Il est certainement possible, vous avez besoin de monter /dev/snd, voir comment Jess Frazelle Spotify lance un conteneur de
https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
vous remarquerez
ou pour Chrome, à la fin
Sera-ce de travailler avec les deux Alsa et pulse audio?
Toutes les suggestions comment faire la même chose sur windows?
Sera-ce de travailler avec JACK? Aurai-je besoin d'installer de logiciel audio (ALSA, pulseaudio ou JACK) dans le récipient, ou est-il suffisant pour les faire installer sur la machine hôte?
OriginalL'auteur user2915097