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

本文介绍了一种利用WebDAV在Docker中实现跨主机Gogs数据卷双向同步的方法。通过Nextcloud客户端和服务端,配合davfs2在本地和服务器上挂载Gogs数据卷,借助Nextcloud处理文件冲突,避免复杂插件,简化操作流程。同时指出了该方法的延迟同步问题和umount操作的等待时间,适合对即时同步要求不高的场景。
摘要由CSDN通过智能技术生成

在校内搭建的 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值