【问题标题】:How to mount docker volumes to a folder on a network如何将 docker 卷挂载到网络上的文件夹
【发布时间】:2019-09-24 13:58:56
【问题描述】:

我在运行 gitlab 容器的 Windows 上安装了 docker。目前,我正在将卷挂载到 C 驱动器,但我想将卷挂载到我的网络上的一个文件夹,该文件夹是服务器。我的docker-compose 文件如下所示:

version: "3.6" 
services:
  web:
    image: 'gitlab/gitlab-ce'
    container_name: 'gitlab'
    restart: always
    hostname: 'localhost'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://localhost:9090'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    networks:
      - gitlab-network
    ports:
      - '80:80'
      - '443:443'
      - '9090:9090'
      - '2224:22'
    volumes:
      - 'C:\GitlabConfig:/etc/gitlab'
      - 'gitlab-logs:/var/log/gitlab'
      - 'gitlab-data:/var/opt/gitlab'

如果我想创建备份,那么备份应该存储在网络路径上的文件夹中。我想将备份存储在此路径上:\\power\Benutzer\hgul\GitlabConfig。任何人都知道是否可能这样吗?

【问题讨论】:

    标签: docker docker-compose docker-volume


    【解决方案1】:

    我建议您将系统上的网络卷挂载为本地磁盘(或本地磁盘中的文件夹),然后更改配置以在其上写入。

    实现类似结果的一种可能方法是调整和使用此命令:

    mklink /d "C:\GitlabConfig" "\\power\Benutzer\hgul\GitlabConfig"
    

    那么您的配置将如下所示:

    volumes:
      - 'C:\GitlabConfig:/etc/gitlab'
    

    奖金

    更多关于挂载网盘的解决方案:
    https://superuser.com/questions/244562/how-do-i-mount-a-network-drive-to-a-folder

    【讨论】:

    • 但是我的备份在 C:\GitlabConfig 中。此命令是将数据复制到网络上的文件夹还是相反?
    • 这个命令只会把网络文件夹挂载到你的c: 如果你把一个文件复制到c: 的正确文件夹,你会在你的网络共享中找到它 测试一下,做起来比说的容易: )
    • 但它会创建一个我不想要的符号链接。我想在网络驱动器上进行备份,而不是指向另一个目录的链接。
    • 您将使用它备份到网络驱动器。你测试了吗?您的 c:\whatever 基本上将是您的网络驱动器。我已经用你的名字更新了我的答案,我希望现在更清楚了。
    • 也可能:我没有正确理解您的要求。你想让我做什么?在网络共享中挂载您的 docker 文件夹或在网络共享中执行您的 docker 文件夹的备份?您的问题的主题:“如何将 docker 卷安装到网络上的文件夹”似乎很清楚,但现在我开始怀疑了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    相关资源
    最近更新 更多