linuxserver/syncthingSyncthing 是一款开源的文件同步工具,可替代专有同步和云服务,提供开放、可信和去中心化的文件同步解决方案。您的数据完全由您掌控,可自主选择存储位置、是否与第三方共享以及如何通过互联网传输。
LinuxServer.io 团队提供的此容器镜像具有以下特点:
该镜像利用 Docker manifest 实现多平台支持。只需拉取 lscr.io/linuxserver/syncthing:latest 即可获取适合您架构的正确镜像,也可通过标签拉取特定架构的镜像。
支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
注意: Syncthing 开发团队强烈建议为此容器设置密码,因为它监听 0.0.0.0 地址。设置方法:进入 操作 -> 设置 -> 设置用户/密码 配置 Web UI 访问密码。
yaml--- services: syncthing: image: lscr.io/linuxserver/syncthing:latest container_name: syncthing hostname: syncthing # 可选 environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /path/to/syncthing/config:/config - /path/to/data1:/data1 - /path/to/data2:/data2 ports: - 8384:8384 - 22000:22000/tcp - 22000:22000/udp - 21027:21027/udp restart: unless-stopped
bashdocker run -d \ --name=syncthing \ --hostname=syncthing `# 可选` \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 8384:8384 \ -p 22000:22000/tcp \ -p 22000:22000/udp \ -p 21027:21027/udp \ -v /path/to/syncthing/config:/config \ -v /path/to/data1:/data1 \ -v /path/to/data2:/data2 \ --restart unless-stopped \ lscr.io/linuxserver/syncthing:latest
容器通过运行时传递的参数进行配置,格式为 <外部>:<内部>。
| 参数 | 功能 |
|---|---|
--hostname= | 可选,定义主机名 |
-p 8384:8384 | Web UI 访问端口 |
-p 22000:22000/tcp | 同步监听端口 (TCP) |
-p 22000:22000/udp | 同步监听端口 (UDP) |
-p 21027:21027/udp | 协议发现端口 |
| 参数 | 功能 |
|---|---|
-e PUID=1000 | 用户 ID - 详见下方说明 |
-e PGID=1000 | 组 ID - 详见下方说明 |
-e TZ=Etc/UTC | 时区设置,参考 时区列表 |
-e UMASK=022 | 可选,覆盖容器内服务的默认 umask 设置 |
| 参数 | 功能 |
|---|---|
-v /config | 配置文件存储路径 |
-v /data1 | 数据卷 1 |
-v /data2 | 数据卷 2(可根据需要添加更多) |
可以通过特殊前缀 FILE__ 从文件设置任何环境变量。例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这将根据 /run/secrets/mysecretvariable 文件的内容设置环境变量 MYVAR。
使用卷映射 (-v 标志) 时,主机 OS 和容器之间可能出现权限问题。通过指定用户 PUID 和组 PGID 可以避免此问题。
确保主机上的任何卷目录都由您指定的相同用户拥有,权限问题将迎刃而解。
此处示例中 PUID=1000 和 PGID=1000,可通过以下命令查找您的用户 ID 和组 ID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们发布了各种 Docker Mods,以启用容器内的其他功能。可通过相关渠道获取适用于此镜像的 Mods 列表以及可应用于任何 LinuxServer.io 镜像的通用 Mods。
bashdocker exec -it syncthing /bin/bash
bashdocker logs -f syncthing
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' syncthing
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/syncthing:latest
大多数镜像都是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除特殊说明外,不建议或支持在容器内更新应用。
bashdocker-compose pull
bashdocker-compose pull syncthing
bashdocker-compose up -d
bashdocker-compose up -d syncthing
bashdocker image prune
bashdocker pull lscr.io/linuxserver/syncthing:latest
bashdocker stop syncthing
bashdocker rm syncthing
/config 文件夹和设置将被保留)bashdocker image prune
推荐使用 Diun 获取更新通知。不建议或支持使用其他自动更新容器的工具。
如需为开发目的或自定义逻辑对这些镜像进行本地修改:
bashgit clone [***] cd docker-syncthing docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/syncthing:latest .
可使用 lscr.io/linuxserver/qemu-static 在 x86_64 硬件上构建 ARM 变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,可使用 -f Dockerfile.aarch64 指定要使用的 dockerfile。
UMASK_SET,改用基础镜像中的 UMASK


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务