我正在安装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
答案 0 :(得分:2)
通常在linux(实际上是文件系统)中,无法以递归方式完成挂载(除了unionfs,aufs等分层文件系统)。
例如,如果您执行以下操作:
mount /dev/sda1 /mnt
mount /dev/sdb1 /mnt
ls /mnt
这将显示/ dev / sdb1中驱动器的内容,这正是您正在做的事情。一般规则是,您永远不应将设备安装在已经是某个其他设备的安装点的位置。
docker volume mount(-v)只是一个常规的linux操作,这就是为什么你会看到这个问题。