首页 > 解决方案 > Docker 绑定源路径不存在,即使它存在

问题描述

我有两个 ubuntu 服务器虚拟机在同一个 proxmox 服务器上运行。两者都在运行 docker。我想将一个容器从其中一个 VM 迁移到另一个。为此,我需要将 USB 驱动器连接到将安装在 docker 容器内的目标 VM。我在两个虚拟机中以完全相同的方式安装了驱动器(旧的当然是关闭的)并且安装工作正常,我可以访问目录并查看驱动器的内容。现在我想使用与在旧 vm 上使用的命令完全相同的命令运行容器,该命令如下所示: docker run -d --restart unless-stopped --stop-timeout 300 -p 8081:8081 --mount type =bind,source="/data",destination=/internal_data

这适用于旧虚拟机,但在新虚拟机上它说:docker:来自守护进程的错误响应:类型“bind”的无效装载配置:绑定源路径不存在:/data. 请参阅“docker run --help”。

我不明白出了什么问题。/data 存在并归 root 所有,与旧 VM 上的相同。实际上,它是具有相同内容的相同驱动器。如果我关闭新虚拟机并以完全相同的方式安装驱动器并启动旧虚拟机,它就可以工作。

如果源路径确实存在,什么会导致此错误?

标签: linuxdockermount

解决方案


我通过将驱动器安装在 /mnt/ 中的安装点来修复它。我没有改变其他任何东西,并且在另一个虚拟机中,当以相同的用户和权限安装在根目录时它可以工作。不知道为什么要修复它。


推荐阅读