在 docker 中使用远程文件系统,最佳实践



我正在尝试在OrangePI/RaspberryPi迷你服务器上对我的家庭多媒体设置进行Docker化。这个问题是关于良好实践的,因为我已经在没有 docker 的情况下让一切工作。

目前我的架构如下所示:

  • SSHFS/Encfs 远程文件系统在启动时挂载 - 这是媒体文件的主要存储
  • 以只读模式使用该 FS 的 Minidlna 服务
  • 桑巴(读/写),FTP(只读)服务
  • 在同一存储之上传输守护程序服务

和其他一些服务,但你明白了,主存储是从远程位置安装的。

直截了当:我应该(A)为上述每个服务创建docker服务吗?我是否应该 (B) 在主机中挂载 fs,然后将其提供给 dockerized 服务?我应该(C)为所有这些创建单个超级容器吗?

我缺乏这方面的经验,正在寻找建议。

我们绝对可以排除(C)。从最佳实践的角度来看,几乎总是建议为每个容器运行一个进程。有不同的思想流派,但这背后的主要思想是能够为不同的服务维护不同的依赖关系。可能不适用于您的情况,但 samba 和 minidlna 可能需要同一依赖项的不同版本。

在 (A) 和 (B) 之间,我可以选择 (B),这样就可以消除在每个服务容器中反复挂载每个文件系统的开销。

最新更新