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

时间:2014-02-14 22:03:40

标签: git ssh gitlab nfs docker

我正在安装Gitlab on my web server using Docker

在尝试将我的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进入repo。

我得到:连接被拒绝,请确保您拥有适当的权限....

要清楚,如果我正在安装本地文件夹,我不会遇到此错误,因此我相信这不是ssh配置问题。

我的印象是这个卷方法正在通过链在某个地方创建一个符号链接,这在整个安装文件中是明确禁止的。

我的问题是:

如何将NAS上的文件夹连接到Gitlab Docker容器,以免触发此ssh / symlink失败?

我已经搜索了如何直接连接驱动器的文档,但还没有完成任务。我绝不会与NFS绑定,我刚刚开始在那里,因为我读到了Docker支持它们的地方。

干杯, -Berger

1 个答案:

答案 0 :(得分:2)

通常在linux(实际上是文件系统)中,无法以递归方式完成挂载(除了unionfs,aufs等分层文件系统)。

例如,如果您执行以下操作: mount /dev/sda1 /mnt mount /dev/sdb1 /mnt ls /mnt 这将显示/ dev / sdb1中驱动器的内容,这正是您正在做的事情。一般规则是,您永远不应将设备安装在已经是某个其他设备的安装点的位置。

docker volume mount(-v)只是一个常规的linux操作,这就是为什么你会看到这个问题。