在校内搭建的 Git 仓库,有时候需要在校外访问操作。因为使用的是 Gogs 搭建,所以只需要同步 data 文件夹即可,网上关于双向同步的方案有很多,但是都很麻烦,而且经常会“打架”,文件冲突。

所以本文使用一些比较奇葩的办法解决这个问题,那就是使用 webdav 传输,因为我电脑本地装有 Nextcloud 的客户端,服务器装有 Nextcloud 的服务端,而服务端自带 Webdav 接口,所以我只需要把 Gogs 容器的数据卷挂载到本地 Nextcloud 同步文件夹中,Nextcloud就会上传到服务器。

而服务器使用 davfs 挂载一个 webdav 文件夹用于挂载服务器上的 Gogs 容器数据卷,这样两个跨主机 Gogs 容器就共享一个数据卷了。

这种办法的好处就是把文件冲突交给 Nextcloud 处理,这种私人云存储在处理文件冲突时还是很有一套的,最重要的是不会陷入“掐架”或者“死循环”中。

关于 Docker 数据卷跨主机共享其实有专门的插件可以实现,例如:Flocker,但是本文不想折腾得太复杂,尽量用现成的服务实现,所以选择 Webdav 双向同步传输。本地:一个 Nextcloud 客户端,一个 Gogs 容器,数据卷挂载到 Nextcloud 客户端的同步文件夹中。

服务器:一个 Nextcloud 容器,一个 Gogs 容器,Gogs 数据卷使用 davfs2 通过 webdav 服务连接到 Nextcloud。

之所以不使用直接挂载 Nextcloud 容器的数据卷是因为 Nextcloud 上传文件时需要在 Mysql 中记录历史记录,直接挂载 Gogs 数据卷到 Nextcloud

docker webdav_跨主机容器共享数据卷(webdav 双向同步)相关推荐

  1. Docker实现跨主机容器实例网络通信(2)——利用OpenVSwitch构建多主机Docker网络

    题记 前面我们已经针对Docker容器进行了简单介绍,相信感兴趣的朋友已经能在相关帮助下部署一个docker环境感受了容器带给我们的另一种技术进步. 当然,如果你慢慢深入容器的技术研究,你会发现,尽管 ...

  2. Docker Swarm 进阶:NFS 共享数据卷

    启动 NFS 服务(CentOS 7) 首先,安装 rpcbind 和 nfs-utils yum install -y rpcbind nfs-utils 然后,编辑 /etc/exports 配置 ...

  3. Docker 使用容器数据卷 实现宿主机与容器共享数据 容器数据持久化

    容器数据卷:可以实现宿主机与容器进行共享.容器数据持久化,容器与容器共享数据.可以在run镜像时使用-v参数指定宿主机与容器进行挂载的目录,也可以使用dockerfile的volume指定容器中容器数 ...

  4. Docker容器的数据卷备份与恢复

    1.Docker容器的数据卷备份与恢复 数据卷的备份与恢复 -备份- 注:   -v指定数据卷时,如果数据卷不存在则自动创建. 1.使用nginx基础镜像新启动一个名为nginx的容器,-v指定数据卷 ...

  5. 这就是你日日夜夜想要的docker!!!---------Docker常规操作--端口映射、数据卷管理 以及容器互联

    文章目录 一.端口映射 1.-P随机端口 2.映射指定一个端口 3.映射指定多个端口 4.映射到指定端口的指定地址 5.映射到指定端口的任意地址 6.查看端口映射情况 二.数据卷与数据卷容器 1.挂载 ...

  6. docker 容器共享数据_如何在Docker容器之间共享数据

    docker 容器共享数据 介绍 (Introduction) Docker is a popular containerization tool used to provide software a ...

  7. Docker——使用docker工具管理软件/组件的运行,镜像、容器、数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

    Docker--使用docker工具管理软件/组件的运行,镜像.容器.数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境 一.docker的安装和卸载 1.卸载 2.安装 3. 导 ...

  8. Docker原生网络、自定义网络、Docker容器通信、跨主机容器网络

    Docker原生网络.自定义网络.Docker容器通信.跨主机容器网络 Docker原生网络 bridge Host none Docker自定义网络 自定义bridge overlay macvia ...

  9. Docker 跨主机容器网络通信 -- Flannel 实现

    一.简介 Flannel 是一种基于 overlay 网络的跨主机容器网络解决方案,也就是将 TCP 数据包封装在另一种网络包里面进行路由转发和通信,Flannel 是 CoreOS 开发,专门用于 ...

最新文章

  1. 一文看懂docker容器技术架构及其中的各个模块
  2. 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能
  3. Java指令启动jar
  4. 简书非官方大数据(一)
  5. linux文件删除漏洞,OpenStack Glance v1 API任意文件删除漏洞(CVE-2012-4573)
  6. linux通配符和正则表达式的区别总结
  7. 阿里云Kubernetes服务 - Service Broker快速入门指南
  8. nginx 转发慢_学习Nginx的正确姿势,多图详解助你更上一层楼!(干货收藏篇)...
  9. SpringBoot @EnableAutoConfiguration注解
  10. Solution 19: Fibonacci数列
  11. C#利用NOPI处理Excel的代码
  12. 显示连接失败_技术丨外接显示器障碍的诊断方法
  13. ajax请求向服务器修改数据,用Jquery实现可编辑表格并用AJAX提交到服务器修改数据...
  14. Telnet 窗口看不见字符
  15. 二叉树的前中后序遍历
  16. keil5安装STC芯片包
  17. wget: command not found的两种解决方案
  18. sendcloud php,Sendcloud的x_smtpapi具体如何定义?
  19. 钉钉小程序-打开外部链接(文件链接)
  20. 在网吧敲代码是种什么体验?网友神评论:在挨打的边缘疯狂试探

热门文章

  1. python课程大全从入门到进阶_Python好书从入门到进阶整理好送你
  2. c语言程序设计第二版(张磊),C语言程序设计教程(第2版) 教学课件 张磊 第1章 程序设计概述.pdf...
  3. Jira - JIRA-Bootstrap ERROR
  4. 服务器多系统ssd寿命检测,SSD是什么?寿命如何?
  5. es 的常用搜索用法
  6. 列主元高斯消元法(Python实现)
  7. 因一次骑行的脸刹着地,诞生了自动驾驶自行车!不愧是野生钢铁侠!太硬核了~~~...
  8. ORACLE基本使用
  9. 个人Javaweb项目介绍
  10. 傲梅迁移系统后 休眠=关机问题解决(更换硬盘)