如何在 Docker 容器中重新挂载丢失的 sshfs

如何在 Docker 容器中重新挂载丢失的 sshfs

我的 docker 容器文件系统中有一个已挂载的卷,它本身就是主机上的已挂载 sshfs。问题是,当(出于某种原因)我的 sshfs 挂载丢失时,我也会丢失 docker 中的卷。如果我重新连接 sshfs,docker 仍然无法访问该卷。我必须重新启动它。如何自动实现这一点?

答案1

如果您想在不重新启动容器的情况下重新连接到丢失的 sshfs-mount,则必须提及两件事。

  1. 不要挂载 sshfs-Mount-Directory 内的路径。因此,如果您的 sshfs-Mount 位于主机系统上的 /data/share/sshfs,则不应直接挂载此目录,而应使用上面的目录 (/data/share)
  2. 您必须使用传播模式“rshared”挂载您的目录(默认的 rprivate 不起作用)

句法:

docker run -v [SOURCE: ONE ABOVE SSHFS-MOUNT]:[DESTINATION]:rshared [IMAGE]

例子:

docker run -v /data/share/:/data/share/:rshared ubi8:latest

相关内容