docker - 如何将 docker 卷挂载到网络上的文件夹

标签 docker docker-compose docker-volume

我在 Windows 上安装了 docker,并运行了 gitlab 容器。目前,我正在将卷安装到 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。有人知道这是否可能吗?

最佳答案

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

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

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

关于docker - 如何将 docker 卷挂载到网络上的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58081999/

相关文章:

docker - 无法连接到在远程Ubuntu服务器上运行的elasticsearch或kibana

docker - 在 Docker Swarm 的 docker-compose.yml 卷中挂载 OpenMediaVault NFS

docker - 如何在 Docker for Windows 中实际绑定(bind)挂载文件

java - tomcat docker-compose 无法访问共享卷

Docker compose Volume - 上传的文件

Azure 应用服务 + Docker 自动部署?

php - 如何通过 docker-php-ext-install 为 php 安装扩展?

git - 将git分支安装在容器中

docker - 如何在 Docker-Compose 中一起使用主机网络和任何其他用户定义的网络?

laravel - AWS EC2实例的Docker容器内 'Composer update'命令的内存不足错误