如何在服务器和docker容器之间装载共享文件夹?

如何在服务器和docker容器之间装载共享文件夹?,docker,architecture,mount,nfs,Docker,Architecture,Mount,Nfs,我需要在远程服务器a(服务器)(ubuntu)和docker容器列表B、C、D(客户端)(debian)之间设置一个共享文件夹。我使用Rancher来管理这些容器,它们可以在不同的主机上移动,所以我不想与docker主机共享任何卷。A必须接收和删除文件,并且必须能够将这些更改传达给B、C、D,对于反向关系也是如此。 我的容器可以通过带有haproxy重定向的负载平衡器访问 几天以来,我一直在努力寻找正确共享这些文件夹的解决方案,但我以前从未这样做过。我试图在Rancher中使用nfs驱动程序,但

我需要在远程服务器a(服务器)(ubuntu)和docker容器列表B、C、D(客户端)(debian)之间设置一个共享文件夹。我使用Rancher来管理这些容器,它们可以在不同的主机上移动,所以我不想与docker主机共享任何卷。A必须接收和删除文件,并且必须能够将这些更改传达给B、C、D,对于反向关系也是如此。 我的容器可以通过带有haproxy重定向的负载平衡器访问

几天以来,我一直在努力寻找正确共享这些文件夹的解决方案,但我以前从未这样做过。我试图在Rancher中使用nfs驱动程序,但我始终无法加载任何内容;我还尝试直接挂载网络文件系统(NFS),但也没有成功:两台服务器之间无法通信,当我尝试挂载文件夹时,什么也没有发生。我看到服务器端拒绝连接(但ping正在工作),所以可能是密码或映射问题。我读到NFS不是为了在云上共享文件夹而设计的,但是我的提供商的所有服务器都在同一个区域,可以将它们放在专用网络中,所以我认为它可以工作

您认为在这种情况下可以使用NFS吗?如果是,您是否有docker客户端配置方面的线索(特别是域名,因为我无法为它们设置ip)。如果没有,我还可以使用哪种解决方案


非常感谢您的帮助。

您有任何代码要显示吗? 您要查找的是docker卷

e、 g.-v开关


docker run-itd-v“mylocalfolder”:“myContainerFolder”容器:name sh

我觉得您的解决方案需要结合使用docker卷配置,如第一个答案中所述,以及NFS或类似的远程装载技术。使用Docker卷装载,您可以将主机文件系统位置映射到容器中的文件系统位置。您必须弄清楚如何使用NFS将主机文件系统位置映射到另一台主机上的文件系统。

Hi Zee303我遵循了NFS的一些指南:我被卡在了装载步骤中。您确定要装载卷吗?我不知道我怎么能用它们。服务器A不承载任何docker容器,它是一个单独的系统,需要从B C D容器发送/接收文件,所以如何将远程服务器的数据直接装载到容器中?它们是用docker compose在本地构建的,当我测试Rancher nfs时,我将图像上传到Rancher上,但它从未成功创建卷。我不明白为什么,我无法访问控制台日志