【问题标题】:Attaching network storage to a Docker container for Gitlab (ssh issue) [closed]将网络存储附加到 Gitlab 的 Docker 容器(ssh 问题)[关闭]
【发布时间】:2014-03-04 14:41:18
【问题描述】:

我正在安装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 推送到存储库。

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

需要明确的是,如果我挂载本地文件夹,我不会遇到此错误,因此我相对确信这不是 ssh 配置问题。

我的印象是,这种批量方法正在通过链的某处创建功能上的符号链接,这在整个安装文件中都是明确禁止的。

我的问题是:

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

我已经搜索了有关如何直接连接驱动器的文档,但还没有什么能完全做到这一点。我与 NFS 无关,我只是从那里开始,因为我在某处读到 Docker 支持它们。

干杯, -伯杰

【问题讨论】:

  • 好的,找到了解决办法。我正在使用 fstab 安装的根文件夹安装 docker 卷,这会引入错误。我在 fstab 挂载下创建了一个文件夹,将其作为卷附加到 docker 中,一切正常。

标签: git ssh gitlab nfs docker


【解决方案1】:

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

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

docker 卷挂载 (-v) 只是常规的 linux 操作,这就是您会看到此问题的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多