s3fs Docker 镜像下载 - 轩辕镜像
s3fs 镜像详细信息和使用指南
s3fs 镜像标签列表和版本信息
s3fs 镜像拉取命令和加速下载
s3fs 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
s3fs 镜像详细信息
s3fs 镜像标签列表
s3fs 镜像使用说明
s3fs 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
s3fs 镜像详细说明
s3fs 使用指南
s3fs 配置说明
s3fs 官方文档
Docker化s3fs客户端
此Docker镜像(及相关GitHub项目)便于将远程S3存储桶资源挂载到容器中。挂载通过FUSEs3fs实现。该镜像本质上实现了一种低成本的Docker卷:使用适当的创建选项(见下文),您可以将远程存储桶绑定挂载回主机目录。此目录将使存储桶内容对进程以及主机上的所有其他容器可用。容器终止时,镜像会自动卸载远程存储桶。
镜像标签遵循s3fs实现的版本,没有latest标签,只有与[s3fs]发布版本匹配的标签。当重建时,会自动获取[s3fs]的新版本。[s3fs]从主仓库的标记git版本编译而来。镜像通过GitHub工作流自动构建,并推送到DockerHub和GHCR。每天检测一次新版本。
示例
假设主机上存在/mnt/tmp目录,以下命令将挂载远程S3存储桶并将远程资源绑定挂载到主机的/mnt/tmp,使远程文件对同一主机上运行的进程和/或其他容器可访问。
Shelldocker run -it --rm \ --device /dev/fuse \ --cap-add SYS_ADMIN \ --security-opt "apparmor=unconfined" \ --env "AWS_S3_BUCKET=<存储桶名称>" \ --env "AWS_S3_ACCESS_KEY_ID=<访问密钥>" \ --env "AWS_S3_SECRET_ACCESS_KEY=<密钥>" \ --env UID=$(id -u) \ --env GID=$(id -g) \ -v /mnt/tmp:/opt/s3fs/bucket:rshared \ efrecon/s3fs
--device、--cap-add和--security-opt选项及其值用于确保容器能够使用FUSE提供S3存储桶。rshared确保绑定挂载使文件和目录对主机及其他容器递归可用。
注意,有报告称compose插件可能导致挂载传播问题(参见#42),使用独立的docker-compose似乎可以解决。
容器选项
一系列以AWS_S3_开头的环境变量可用于配置容器:
AWS_S3_BUCKET:存储桶名称,必填。AWS_S3_AUTHFILE:符合s3fs格式的授权文件路径。若为空,则从其他授权相关环境变量获取数据。AWS_S3_ACCESS_KEY_ID:S3存储桶的访问密钥,仅在AWS_S3_AUTHFILE为空时使用。注意,AWS_S3_ACCESS_KEY_ID_FILE优先级更高。AWS_S3_ACCESS_KEY_ID_FILE:指向包含S3访问密钥的文件路径。存在时,从文件获取密钥,忽略AWS_S3_ACCESS_KEY_ID。便于通过Docker密钥传递密钥,仅在AWS_S3_AUTHFILE为空时使用。AWS_S3_SECRET_ACCESS_KEY:S3存储桶的密钥,仅在AWS_S3_AUTHFILE为空时使用。注意,AWS_S3_SECRET_ACCESS_KEY_FILE优先级更高。AWS_S3_SECRET_ACCESS_KEY_FILE:指向包含S3密钥的文件路径。存在时,从文件获取密钥,忽略AWS_S3_SECRET_ACCESS_KEY。便于通过Docker密钥传递密钥,仅在AWS_S3_AUTHFILE为空时使用。AWS_S3_URL:Amazon服务URL,可用于挂载实现兼容API的外部服务。AWS_S3_MOUNT:容器内挂载S3资源的位置,默认/opt/s3fs/bucket,不建议修改。AWS_S3_ENVFILE:容器内.env文件路径,从中读取环境变量。仅识别以AWS_S3_或S3FS_开头的行,内容由shell展开。通常应从主机以只读模式绑定挂载此文件。UID:容器内共享目录所有者的用户ID。GID:容器内共享目录所有者的组ID。S3FS_DEBUG:设为1可获取s3fs的调试信息。S3FS_ARGS:传递给s3fs的额外选项,逗号分隔,例如use_path_request_style,allow_other,default_acl=public-read。
命令
默认情况下,容器运行empty.sh命令,保持静默。若需检查活跃度,可传递ls.sh命令,定期列出挂载目录内容。这两个命令均确保容器终止时从挂载点卸载远程存储桶,因此为保证正常运行,应选择其中之一。若未卸载,挂载系统将包含未知条目,导致不稳定。
自动卸载通过命令中的trap和tini实现。本镜像直接提供tini,以支持在Swarm[swarm]或kubernetes环境中运行。
版本和标签
Docker镜像的标签自动匹配s3fs的***版本。通过GitHub API发现以v开头的标签,并为每个标签构建单独镜像。镜像基于Alpine构建,会选择构建时最新的Alpine 3.x版本。s3fs 1.87版本因存在回归问题(已在发布后修复),无对应镜像。
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
常见问题
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
轩辕镜像下载加速使用手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
登录仓库拉取
通过 Docker 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429