侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

docker pull linuxserver/syncthing

已删除用户
2023-10-06 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

docker pull linuxserver/syncthing

LinuxServer.io团队为您带来了另一个容器版本,其中包含

  • 定期及时更新应用程序

  • 简单的用户映射(PGID、PUID)

  • 带有 s6 覆盖层的自定义基础镜像

  • 每周更新基础操作系统,并在整个 LinuxServer.io 生态系统中使用通用层,以最大程度地减少空间使用、停机时间和带宽

  • 定期安全更新

找到我们:

  • 博客- 您可以使用我们的容器做的所有事情,包括操作指南、意见等等!

  • Discord - 与社区和团队实时支持/聊天。

  • 话语- 在我们的社区论坛上发帖。

  • Fleet - 一个在线网络界面,显示我们维护的所有图像。

  • GitHub - 查看我们所有存储库的源代码。

  • 开放集体- 请考虑通过捐赠或贡献我们的预算来帮助我们

linux服务器/同步

Syncthing用开放、值得信赖和去中心化的服务取代了专有的同步和云服务。您的数据只是您的数据,您应该选择数据的存储位置、是否与第三方共享以及如何通过互联网传输。

同步事物

支持的架构

我们利用 docker 清单来实现多平台感知。更多信息可从此处的docker 和此处的公告获得。

只需拉动lscr.io/linuxserver/syncthing:latest即可检索拱门的正确图像,但您也可以通过标签拉动特定的拱门图像。

该镜像支持的架构有:

建筑学

可用的

标签

x86-64

amd64-<版本标签>

ARM64

arm64v8-<版本标签>

臂氢夫

应用程序设置

注意: Syncthing 开发人员强烈建议为此容器设置密码,因为它侦听 0.0.0.0。为此,请转至Actions -> Settings -> set user/passwordWebUI。

用法

以下是一些示例片段,可帮助您开始创建容器。

docker-compose(推荐,点击此处了解更多信息

---
version: "2.1"
services:
  syncthing:
    image: lscr.io/linuxserver/syncthing:latest
    container_name: syncthing
    hostname: syncthing #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/appdata/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

docker cli(点击此处了解更多信息

docker run -d \
  --name=syncthing \
  --hostname=syncthing `#optional` \
  -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/appdata/config:/config \
  -v /path/to/data1:/data1 \
  -v /path/to/data2:/data2 \
  --restart unless-stopped \
  lscr.io/linuxserver/syncthing:latest

参数

容器镜像是使用运行时传递的参数(如上面的参数)进行配置的。这些参数用冒号分隔并<external>:<internal>分别表示。例如,-p 8080:80将公开容器内部的端口,以便可以从容器外部80端口上的主机 IP 进行访问。8080

范围

功能

--hostname=

可以选择定义主机名。

-p 8384

应用程序网络用户界面

-p 22000/tcp

监听端口(TCP)

-p 22000/udp

监听端口(UDP)

-p 21027/udp

协议发现

-e PUID=1000

对于 UserID - 请参阅下面的说明

-e PGID=1000

对于 GroupID - 请参阅下面的说明

-e TZ=Etc/UTC

指定要使用的时区,请参阅此列表

-v /config

配置文件。

-v /data1

数据1

-v /data2

数据2

文件中的环境变量(Docker 秘密)

您可以使用特殊的 prepend 从文件中设置任何环境变量FILE__

举个例子:

-e FILE__PASSWORD=/run/secrets/mysecretpassword

PASSWORD将根据文件的内容设置环境变量/run/secrets/mysecretpassword

用于运行应用程序的 Umask

对于我们的所有镜像,我们提供了使用可选设置覆盖容器内启动的服务的默认 umask 设置的功能-e UMASK=022。请记住,umask 不是 chmod,它根据它不添加的值从权限中减去。在寻求支持之前,请先阅读此处。

用户/组标识符

当使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组来避免此问题PGID

确保主机上的所有卷目录都属于您指定的同一用户,并且任何权限问题都会像魔术一样消失。

在这种情况PUID=1000PGID=1000,要找到您的使用方式,id user如下所示:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Docker 模组

我们发布了各种Docker Mod以在容器内启用附加功能。可通过上面的动态徽章访问该图像可用的 Mod 列表(如果有)以及可应用于我们任何一个图像的通用 Mod。

支持信息

  • 容器运行时的 shell 访问:docker exec -it syncthing /bin/bash

  • 实时监控容器的日志:docker logs -f syncthing

  • 容器版本号

    • docker inspect -f '{{ index .Config.Labels "build_version" }}' syncthing

  • 镜像版本号

    • docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/syncthing:latest

更新信息

我们的大多数图像都是静态的、版本化的,并且需要图像更新和容器重新创建来更新内部的应用程序。除了一些例外(即 nextcloud、plex),我们不建议或支持更新容器内的应用程序。请参阅上面的“应用程序设置”部分,了解是否建议将其用于图像。

以下是更新容器的说明:

通过 Docker 撰写

  • 更新所有图像:docker-compose pull

    • 或更新单个图像:docker-compose pull syncthing

  • 让 compose 根据需要更新所有容器:docker-compose up -d

    • 或更新单个容器:docker-compose up -d syncthing

  • 您还可以删除旧的悬空图像:docker image prune

通过 Docker 运行

  • 更新图像:docker pull lscr.io/linuxserver/syncthing:latest

  • 停止正在运行的容器:docker stop syncthing

  • 删除容器:docker rm syncthing

  • 按照上面的说明,使用相同的 docker 运行参数重新创建一个新容器(如果正确映射到主机文件夹,您的/config文件夹和设置将被保留)

  • 您还可以删除旧的悬空图像:docker image prune

通过 Watchtower 自动更新程序(仅在您不记得原始参数时使用)

  • 在其标签处拉取最新镜像,并在一次运行中将其替换为相同的环境变量:

    docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --run-once syncthing
    
  • 您还可以删除旧的悬空图像:docker image prune

注意:我们不认可使用 Watchtower 作为现有 Docker 容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。然而,这是一个有用的工具,可以在您忘记原始参数的情况下一次性手动更新容器。从长远来看,我们强烈建议使用Docker Compose

镜像更新通知 - Diun(Docker 镜像更新通知程序)

  • 我们推荐Diun来获取更新通知。不推荐也不支持其他在无人值守的情况下自动更新容器的工具。

本地建设

如果您想出于开发目的或只是为了自定义逻辑而对这些图像进行本地修改:

git clone https://github.com/linuxserver/docker-syncthing.git
cd docker-syncthing
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/syncthing:latest .

ARM 变体可以使用以下命令在 x86_64 硬件上构建multiarch/qemu-user-static

docker run --rm --privileged multiarch/qemu-user-static:register --reset

注册后,您可以定义要与-f Dockerfile.aarch64.

版本

  • 05.09.23: - 重新调整至 Alpine 3.18。

  • 01.07.23: - 弃用 armhf。正如此处宣布的

  • 13.02.23: - 重新设置为 Alpine 3.17,迁移到 s6v3。

  • 22.08.17: - 在 alpine 3.16 上构建 go 1.18)。

  • 03.05.22: - 重新设置为 alpine 3.15(在 go 1.18 的边缘构建)。

  • 05.10.21: - 重新设置为高山 3.14。

  • 12.05.21: - 再次删除 sysctl 参数

  • 03.05.21: - 提高最大 UDP 缓冲区大小。

  • 03.05.21: - 添加 22000/udp 的端口映射。

  • 29.01.21: - 弃用UMASK_SET基础映像中的 UMASK,请参阅上文了解更多信息。

  • 23.01.21: - 重新调整为 alpine 3.13。

  • 15.09.20: - 使用 go from alpine edge repo 进行编译。删除重复的 UMASK 环境变量。添加主机名设置。

  • 01.06.20: - 重新调整为 alpine 3.12。

  • 19.12.19: - 重新调整为 alpine 3.11。

  • 28.06.19: - 重新调整为 alpine 3.10。

  • 2019 年 3 月 23 日: - 切换到新的基础镜像,切换到 arm32v7 标签。

  • 2019 年 3 月 5 日: - 更新 v1.1.0 版本的构建流程。

  • 22.02.19: - 重新调整为 alpine 3.9。

  • 19.01.19: - 添加管道逻辑和多架构。

  • 2018 年 7 月 30 日: - 重新设置为 alpine 3.8 并使用 buildstage。

  • 13.12.17: - 重新设置为高山 3.7。

  • 25.10.17: - 添加环境变量以手动设置 umask。

  • 29.07.17: - 简化构建结构,因为符号链接在 > 0.14.32 上失败

  • 2017 年 5 月 28 日: - 重新设置为 alpine 3.6。

  • 2017 年 2 月 8 日: - 重新设置为 alpine 3.5。

  • 01.11.16: - 切换到从 git 源编译最新版本。

  • 14.10.16: - 添加版本层信息。

  • 2016 年 9 月 30 日: - 修复 umask。

  • 2016 年 9 月 9 日: - 将图层徽章添加到自述文件中。

  • 2016 年 8 月 28 日: - 将徽章添加到自述文件中。

  • 2016 年 8 月 11 日: - 重新设置为 alpine linux。

  • 2015 年 12 月 18 日: - 初始测试/发布 (IronicBadger)

  • 2015 年 9 月 24 日: - 初始开发完成(Lonix)

0

评论区