Compartir dispositivo con contenedor

Docker flag --device host a contenedor

  • Ejemplo reproducir sonido desde terminal en contenedor

# prueba inicial contenedor con imagen de ubuntu que se auto destruya al salir
# entrar en directorio de ejemplo con archivo mp3 de prueba
cd compartir_dispositivo
docker run --rm -it -v $PWD:/home ubuntu bash

# actualizar repositorios de software
root@f882c8b3f886:/ apt-get update

Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:3 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [857 kB]
...
Fetched 17.7 MB in 2min 5s (141kBs)
Reading package lists... Done

# instalar herramienta de reproduccion de cli
apt-get install moc moc-ffmpeg-plugin

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
...
Do you want to continue? [Y/n] Y
...
aspell-autobuildhash: processing: en [en_US-w_accents-only].
aspell-autobuildhash: processing: en [en_US-wo_accents-only].
Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.36.11-2) ...

# ver archivo de audio en el contenedor
root@f882c8b3f886:/ cd home && ls
House_Of_Evil.mp3

# tratar de iniciar mocp
root@f882c8b3f886:/home# mocp

Running the server...
Trying JACK...
Trying ALSA...
Trying OSS...

FATAL_ERROR: No valid sound driver!


FATAL_ERROR: Server exited!

root@f882c8b3f886:/home# exit

# salir y probar con el flag --device, obtener listado driver snd ls -l /dev/snd/
docker run --rm -it -v $PWD:/home --device /dev/snd/controlC0 --device /dev/snd/pcmC0D0p --device /dev/snd/timer ubuntu bash

# repetir pasos anterior para instalar mocp
root@45c58404909:/ apt-get update
root@45c58404909:/ apt-get install moc moc-ffmpeg-plugin

# ver archivo de audio en el contenedor
root@45c58404909:/ cd home && ls
House_Of_Evil.mp3

# tratar de iniciar mocp
root@45c58404909:/home# mocp

# probar interfaz iniciada, hacer enter en archivo mp3
mocp
mocp

Última actualización

¿Te fue útil?