如何将已挂载的卷共享给不同的 Docker 实例?

如何将已挂载的卷共享给不同的 Docker 实例?

我正在开发一个日志收集/分析解决方案,用于sshfs挂载远程驱动器以实时获取日志的更新。现在我想创建一个 Docker 用户来处理从 Docker 使用该远程驱动器的日志sshfs

我尝试过volumes-from,只挂载了文件系统设备,但没有挂载表,所以我无法sshfs从处理器的容器中看到的内容。以下是我所做的:

$ docker run --volumes /sshfs --rm -it --name "my_sshfs_1" --privileged my_sshfs
# mkdir /sshfs/logs  # in the container
# sshfs user@ip:remote_dir /sshfs/logs &
# ls /sshfs/logs
log1 log2 log3

在另一个终端中:

$ docker run --volumes-from my_sshfs_1 --rm -it ubuntu
# ls /sshfs     # in the container
logs
# ls /sshfs/logs
(empty)

我期望最后一个ls /sshfs/logs会显示与my_sshfs_1容器相同的文件,但事实并非如此。有什么方法可以实现这一点吗?谢谢。

答案1

我通过在两个 Docker 之间建立额外的 sshfs 解决了这个问题。我仍在寻找更好的解决方案 :)

相关内容