syncthing数据同步应用-docker部署

syncthing作为一款类似rsync的数据同步工具,以其配备的Web UI简化了配置流程。通过在两端部署服务并进行密钥验证实现数据同步。本文介绍了如何利用Docker部署syncthing,并强调了其支持多种终端的特点。在部署后,syncthing会开放tcp8384端口供Web UI访问,以及tcp22000端口用于同步协议。在Ubuntu Server上安装并启动syncthing后,可以通过Web UI管理设备和共享目录,实现数据的自动同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

syncthing应用场景类似于rsync,在数据传输通道的两端都部署服务,再通过密钥验证的方式完成最终数据同步。而syncthing较之更加简单,因配备了Web UI,配置上难度降低了不少。

相关资料
  • https://syncthing.net/
  • https://github.com/syncthing/syncthing
  • https://github.com/syncthing/syncthing/blob/master/README-Docker.md
支持很多种类型终端

在这里插入图片描述

一般来说,syncthing可以定义一个 服务端,作为数据存储,然后在其他终端运行,设置数据目录同步。

  • 将syncthing容器服务定义为数据存储服务,当容器启动后,将自动打开tcp8384端口,用于Web UI的访问*“Access the GUI via the following URL: http://127.0.0.1:8384”*

在syncthing工作的过程中,开放了两个tcp端口。

  • 端口8384:主要用于Remote web UI的访问
  • 端口22000:是用做同步协议的端口
#下载官方镜像
docker pull syncthing/syncthing
#运行容器,将数据目录映射到本地/home/admin/syncthing:/var/syncthing 
docker run -p 8384:8384 -p 22000:22000 -v /home/admin/syncthing:/var/syncthing syncthing/syncthing:latest
[monitor] 22:52:33 INFO: Starting syncthing
[start] 22:52:33 INFO: syncthing v1.2.2 "Fermium Flea" (go1.12.9 linux-amd64) docker@syncthing.net 2019-08-15 13:51:09 UTC
[XOTLZ] 22:52:33 INFO: My ID: XOTLZLV-FTJXL3J-ND7UG2J-4TMURL3-2HB5XI5-C2C6WGF-7SDKDBC-FTUVQQS
[XOTLZ] 22:52:34 INFO: Single thread SHA256 performance is 254 MB/s using crypto/sha256 (251 MB/s using minio/sha256-simd).
[XOTLZ] 22:52:34 INFO: Hashing performance is 266.52 MB/s
[XOTLZ] 22:52:34 INFO: Ready to synchronize "Default Folder" (default) (sendreceive)
[XOTLZ] 22:52:34 INFO: Overall send rate is unlimited, receive rate is unlimited
[XOTLZ] 22:52:34 INFO: Using discovery server https://discovery.syncthing.net/v2/?noannounce&id=LYXKCHX-VI3NYZR-ALCJBHF-WMZYSPK-QG6QJA3-MPFYMSO-U56GTUK-NA2MIAW
[XOTLZ] 22:52:34 INFO: Using discovery server https://discovery-v4.syncthing.net/v2/?nolookup&a
### 使用 Docker 安装、配置并运行 Syncthing #### 准备工作 为了在 Docker 中使用 Syncthing,首先需要确保已经正确安装了 Docker。可以通过官方指南完成 Docker 的安装[^2]。 #### 创建网络环境 创建专用的 Docker 网络有助于管理不同服务之间的通信。对于 Syncthing 来说,这一步不是必需的,但如果计划与其他容器交互,则建议设置自定义网络: ```bash docker network create syncthing-network ``` #### 下载并启动 Syncthing 镜像 Docker Hub 上提供了官方支持的 Syncthing 镜像。可以利用 `docker run` 命令来下载镜像并启动容器: ```bash docker pull syncthing/syncthing docker run -d \ --name=syncthing \ -p 8384:8384 \ -v /path/to/data:/data \ --network=bridge \ syncthing/syncthing ``` 上述命令解释如下: - `-d`: 后台模式运行容器 - `--name=syncthing`: 给定容器名称为 "syncthing" - `-p 8384:8384`: 将主机端口映射到容器内部的服务端口,默认情况下 Web UI 运行于 8384 端口 - `-v /path/to/data:/data`: 挂载本地文件夹至容器内供同步操作;需替换 `/path/to/data` 成实际路径 - `--network=bridge`: 默认网桥模式连接外部访问 #### 访问 Web 用户界面 (Web GUI) 一旦成功部署Syncthing 实例,在浏览器地址栏输入 http://localhost:8384 即可打开图形化配置页面。首次登录时会提示设定管理员密码和其他初始参数。 #### 自动重启策略与持久保存数据 为了让 Syncthing 更加稳定可靠,推荐增加自动恢复机制以及保障重要资料的安全存储: ```bash docker update --restart unless-stopped syncthing ``` 此指令使得即使宿主机意外断电或重启之后也能让 Syncthing 自动恢复正常运作状态。而通过挂载卷的方式(-v 参数),已实现了对共享目录的数据保护措施。 #### 日志查看 如果遇到任何问题或者想要监控当前实例的状态变化,可通过下面的方法获取日志记录: ```bash docker logs -f syncthing ``` 该命令能够实时跟踪正在发生的事件流,帮助排查故障原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值