将networking存储附加到Gitlab的Docker容器(ssh问题)

我正在使用Docker在我的Web服务器上安装Gitlab 。

一切工作都像一个冠军,直到我尝试使用我的NAS作为存储文件夹。

我希望这是行得通的:

使用/ etc / fstab将NFS共享挂载到本地文件夹:

192.168.1.103:/gitlab /home/user/gitlab_data nfs rsize=8192,wsize=8192,timeo=14,intr 

使用以下卷连接运行Docker:

 sudo docker run -v /home/user/gitlab_data:/home/git/data ..... 

和应用程序的工作,直到我试图用ssh推入回购。

我得到:连接拒绝,确保你有适当的权限….

要清楚,我不会遇到这个错误,如果我挂载本地文件夹,所以我相对有信心,这不是一个SSHconfiguration问题。

我的印象是,这个卷的方法是创build什么是function上的一个符号链接,在整个安装文件明确禁止链。

我的问题是:

如何将我的NAS上的文件夹连接到我的Gitlab Docker容器,使其不会触发此ssh / symlink失败?

我已经search了如何直接连接驱动器的文档,但没有任何事情已经完成了。 我没有办法将它绑定到NFS上,因为我读了Docker支持它们的地方。

欢呼声,贝尔

通常在linux(实际上是文件系统)中,挂载不能recursion地进行(除了像unionfs,aufs等分层文件系统)。

例如,如果您执行以下操作: mount /dev/sda1 /mnt mount /dev/sdb1 /mnt ls /mnt这会显示驱动器在/ dev / sdb1的内容,这正是您正在做的。 一般的规则是,你不应该在已经是某个其他设备的挂载点的位置挂载设备。

docker卷装载(-v)只是一个常规的L​​inux操作,这就是为什么你会看到这个问题。