gpt4 book ai didi

Docker 安装/tmp/pulseaudio 给出错误

转载 作者:行者123 更新时间:2023-12-04 19:06:40 25 4
gpt4 key购买 nike

我正在尝试从我的 docker 容器中发出声音。我正在使用 Ubuntu 20.10 开发 Raspberry4。
启动容器时,我使用以下行来挂载声音文件文件夹:

-v /tmp/pulseaudio.socket:/tmp/pulseaudio.socket
-v /tmp/pulseaudio.client.conf:/etc/pulse/client.conf
但是,我收到以下错误:

docker: Error response from daemon: OCI runtime create failed:container_linux.go:367: starting container process caused:process_linux.go:495: container init caused: rootfs_linux.go:60:mounting "/tmp/pulseaudio.socket" to rootfs at"/var/lib/docker/overlay2/cde617898e2ee8e181a48cf84db8dbcdf5bfdf57e5760493f7c5fce1640b59d5/merged/tmp/pulseaudio.socket"caused: not a directory: unknown: Are you trying to mount a directoryonto a file (or vice-versa)? Check if the specified host path existsand is the expected type.


我该如何解决这个问题?

最佳答案

您似乎正在尝试将主机中不存在的内容挂载到 docker 中存在的文件中。
在这种情况下,行为是(见 here ):

If you use -v or --volume to bind-mount a file or directory that does not yet exist on the Docker host, -v will create the endpoint for you. It is always created as a directory.


因此 docker 会在主机中创建一个文件夹并尝试将其挂载到容器中的文件中,这就是你得到错误的原因。
要修复它,您只需要检查文件是否存在于主机中,在您的情况下为 /tmp/pulseaudio.socket也许还有 /tmp/pulseaudio.client.conf .
请注意,使用 -v左边的路径是主机,右边是容器。
-v /path/in/host:/path/in/container

关于Docker 安装/tmp/pulseaudio 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67381686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com