LinuxServer.io 团队为您带来了另一个容器版本,其中包含:
找到我们:
Snapdrop 浏览器中的本地文件共享。灵感来自苹果的空投。
我们利用 docker 清单来实现多平台感知。更多信息可从此处的 docker 和此处的公告获得。
只需拉动lscr.io/linuxserver/snapdrop:latest
即可检索您的拱门的正确图像,但您也可以通过标签拉动特定的拱门图像。
该镜像支持的架构有:
建筑学 | 可用的 | 标签 |
---|---|---|
x86-64 | ✅ | amd64-<版本标签> |
ARM64 | ✅ | arm64v8-<版本标签> |
臂氢夫 |
Webui 可通过 http://SERVERIP:PORT 访问
为了帮助您开始从此映像创建容器,您可以使用 docker-compose 或 docker cli。
---
services :
snapdrop :
image : lscr.io/linuxserver/snapdrop:latest
container_name : snapdrop
environment :
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes :
- /path/to/snapdrop/config:/config
ports :
- 80:80
- 443:443
restart : unless-stopped
docker run -d
--name=snapdrop
-e PUID=1000
-e PGID=1000
-e TZ=Etc/UTC
-p 80:80
-p 443:443
-v /path/to/snapdrop/config:/config
--restart unless-stopped
lscr.io/linuxserver/snapdrop:latest
容器是使用运行时传递的参数(例如上面的参数)进行配置的。这些参数以冒号分隔,分别表示<external>:<internal>
。例如, -p 8080:80
将从容器内部公开端口80
,以便可以从容器外部端口8080
上的主机 IP 进行访问。
范围 | 功能 |
---|---|
-p 80 | http图形用户界面 |
-p 443 | https 图形用户界面 |
-e PUID=1000 | 对于 UserID - 请参阅下面的说明 |
-e PGID=1000 | 对于 GroupID - 请参阅下面的说明 |
-e TZ=Etc/UTC | 指定要使用的时区,请参阅此列表。 |
-v /config | 持久化配置文件 |
您可以使用特殊的前缀FILE__
从文件中设置任何环境变量。
举个例子:
-e FILE__MYVAR=/run/secrets/mysecretvariable
将根据/run/secrets/mysecretvariable
文件的内容设置环境变量MYVAR
。
对于我们的所有镜像,我们提供了使用可选的-e UMASK=022
设置覆盖容器内启动的服务的默认 umask 设置的功能。请记住,umask 不是 chmod,它根据它不添加的值从权限中减去。在寻求支持之前,请先阅读此处。
使用卷( -v
标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID
和组PGID
来避免此问题。
确保主机上的所有卷目录都属于您指定的同一用户,并且任何权限问题都会像魔术一样消失。
在本例中PUID=1000
和PGID=1000
,要找到您的,请使用id your_user
,如下所示:
id your_user
输出示例:
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们发布了各种 Docker Mod 以在容器内启用附加功能。可通过上面的动态徽章访问该图像可用的 Mod 列表(如果有)以及可应用于我们任何一个图像的通用 Mod。
容器运行时的 shell 访问:
docker exec -it snapdrop /bin/bash
实时监控容器的日志:
docker logs -f snapdrop
容器版本号:
docker inspect -f ' {{ index .Config.Labels "build_version" }} ' snapdrop
图片版本号:
docker inspect -f ' {{ index .Config.Labels "build_version" }} ' lscr.io/linuxserver/snapdrop:latest
我们的大多数图像都是静态的、版本化的,并且需要图像更新和容器重新创建来更新内部的应用程序。除了一些例外情况(相关 readme.md 中注明),我们不建议也不支持更新容器内的应用程序。请参阅上面的“应用程序设置”部分,了解是否建议将其用于图像。
以下是更新容器的说明:
更新图片:
所有图像:
docker-compose pull
单张图像:
docker-compose pull snapdrop
更新容器:
所有容器:
docker-compose up -d
单个容器:
docker-compose up -d snapdrop
您还可以删除旧的悬空图像:
docker image prune
更新图像:
docker pull lscr.io/linuxserver/snapdrop:latest
停止正在运行的容器:
docker stop snapdrop
删除容器:
docker rm snapdrop
按照上面的说明,使用相同的 docker 运行参数重新创建一个新容器(如果正确映射到主机文件夹,您的/config
文件夹和设置将被保留)
您还可以删除旧的悬空图像:
docker image prune
提示
我们推荐 Diun 来获取更新通知。不推荐也不支持其他在无人值守的情况下自动更新容器的工具。
如果您想出于开发目的或只是为了自定义逻辑而对这些图像进行本地修改:
git clone https://github.com/linuxserver/docker-snapdrop.git
cd docker-snapdrop
docker build
--no-cache
--pull
-t lscr.io/linuxserver/snapdrop:latest .
ARM 变体可以使用lscr.io/linuxserver/qemu-static
在 x86_64 硬件上构建,反之亦然
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,您可以定义要与-f Dockerfile.aarch64
一起使用的 dockerfile。