Docker 绑定源路径不存在,即使它存在
Docker bind source path does not exist even though it does
我有两个 ubuntu 服务器虚拟机 运行 在同一个 proxmox 服务器上。都是运行宁docker。我想将一个容器从一个虚拟机迁移到另一个。为此,我需要将一个 USB 驱动器连接到将安装在 docker 容器内的目标 VM。我在两个 VM 中以完全相同的方式安装驱动器(当然旧的已关闭)并且安装工作正常,我可以访问目录并查看驱动器的内容。现在我想 运行 容器使用与我在旧虚拟机上使用的完全相同的命令,看起来像这样:
docker 运行 -d --restart unless-stopped --stop-timeout 300 -p 8081:8081 --mount type=bind,source="/data",destination=/internal_data
这在旧 VM 上有效,但在新 VM 上它说:
docker:来自守护程序的错误响应:类型“绑定”的挂载配置无效:绑定源路径不存在:/data。
参见 'docker run --help'。
我不明白哪里出了问题。 /data 存在并由 root 拥有,就像它在旧 VM 上一样。事实上,它是具有相同内容的相同驱动器。如果我关闭新的 VM 并以完全相同的方式启动旧的安装驱动器的 VM,它就可以正常工作。
如果源路径确实存在,什么会导致此错误?
我通过将驱动器安装在 /mnt/ 中的安装点来修复它。
我没有改变任何其他东西,在另一个 VM 中,它在使用相同的用户和权限安装在根目录上时工作。不知道为什么修复它。
我有两个 ubuntu 服务器虚拟机 运行 在同一个 proxmox 服务器上。都是运行宁docker。我想将一个容器从一个虚拟机迁移到另一个。为此,我需要将一个 USB 驱动器连接到将安装在 docker 容器内的目标 VM。我在两个 VM 中以完全相同的方式安装驱动器(当然旧的已关闭)并且安装工作正常,我可以访问目录并查看驱动器的内容。现在我想 运行 容器使用与我在旧虚拟机上使用的完全相同的命令,看起来像这样: docker 运行 -d --restart unless-stopped --stop-timeout 300 -p 8081:8081 --mount type=bind,source="/data",destination=/internal_data
这在旧 VM 上有效,但在新 VM 上它说: docker:来自守护程序的错误响应:类型“绑定”的挂载配置无效:绑定源路径不存在:/data。 参见 'docker run --help'。
我不明白哪里出了问题。 /data 存在并由 root 拥有,就像它在旧 VM 上一样。事实上,它是具有相同内容的相同驱动器。如果我关闭新的 VM 并以完全相同的方式启动旧的安装驱动器的 VM,它就可以正常工作。
如果源路径确实存在,什么会导致此错误?
我通过将驱动器安装在 /mnt/ 中的安装点来修复它。 我没有改变任何其他东西,在另一个 VM 中,它在使用相同的用户和权限安装在根目录上时工作。不知道为什么修复它。