Docker: JACK 服务器不是 运行
Docker: JACK server is not running
我是 运行 一组带有 ROS 的 docker 容器,用于控制机器人。其中一个容器必须通过 sound_play
包播放一些音频文件。然而它 returns 错误
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
我能够aplay
容器内的音频(.wav)文件,我的声卡肯定能被识别,我也试过运行特权模式下的容器。我也尝试在容器中单独安装jackd
并启动一个jack服务器,但得到错误
Cannot lock down 82274202 byte memory area (Cannot allocate memory).
Bus error (core dumped)
我对问题的理解是否正确?如果是这样,我怎样才能让 jack 服务器在容器内启动?
我通过安装 jackd1
而不是 jackd2
解决了这个问题,因为显然,jackd2 需要实时优先级,而我无法将其提供给 docker 容器。 jackd1
虽然成功了。
我的 Dockerfile:
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y jackd1
运行 命令:
docker run -it --rm --privileged=true --device=/dev/snd:/dev/snd myContainerName jackd -R -d alsa -d hw:1
这将在您的容器中启动一个 jack 服务器。 sound_play
节点在那之后工作正常。
我是 运行 一组带有 ROS 的 docker 容器,用于控制机器人。其中一个容器必须通过 sound_play
包播放一些音频文件。然而它 returns 错误
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
我能够aplay
容器内的音频(.wav)文件,我的声卡肯定能被识别,我也试过运行特权模式下的容器。我也尝试在容器中单独安装jackd
并启动一个jack服务器,但得到错误
Cannot lock down 82274202 byte memory area (Cannot allocate memory).
Bus error (core dumped)
我对问题的理解是否正确?如果是这样,我怎样才能让 jack 服务器在容器内启动?
我通过安装 jackd1
而不是 jackd2
解决了这个问题,因为显然,jackd2 需要实时优先级,而我无法将其提供给 docker 容器。 jackd1
虽然成功了。
我的 Dockerfile:
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y jackd1
运行 命令:
docker run -it --rm --privileged=true --device=/dev/snd:/dev/snd myContainerName jackd -R -d alsa -d hw:1
这将在您的容器中启动一个 jack 服务器。 sound_play
节点在那之后工作正常。