专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

efrecon/s3fs Docker 镜像 - 轩辕镜像

s3fs
efrecon/s3fs
从容器内部挂载S3存储桶并将其暴露给主机和其他容器
11 收藏0 次下载activeefrecon镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Docker化s3fs客户端

此Docker镜像(及相关GitHub项目)便于将远程S3存储桶资源挂载到容器中。挂载通过FUSEs3fs实现。该镜像本质上实现了一种低成本的Docker卷:使用适当的创建选项(见下文),您可以将远程存储桶绑定挂载回主机目录。此目录将使存储桶内容对进程以及主机上的所有其他容器可用。容器终止时,镜像会自动卸载远程存储桶。

镜像标签遵循s3fs实现的版本,没有latest标签,只有与[s3fs]发布版本匹配的标签。当重建时,会自动获取[s3fs]的新版本。[s3fs]从主仓库的标记git版本编译而来。镜像通过GitHub工作流自动构建,并推送到DockerHub和GHCR。每天检测一次新版本。

示例

假设主机上存在/mnt/tmp目录,以下命令将挂载远程S3存储桶并将远程资源绑定挂载到主机的/mnt/tmp,使远程文件对同一主机上运行的进程和/或其他容器可访问。

Shell
docker 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版本因存在回归问题(已在发布后修复),无对应镜像。

查看更多 s3fs 相关镜像 →
efrecon/vcluster logo
efrecon/vcluster
by efrecon
vcluster CLI的Docker容器化版本,包含helm作为必要依赖,用于在容器环境中运行vcluster命令,支持自定义版本和隔离环境执行,无需本地安装依赖。
100K+ pulls
上次更新:6 天前
efrecon/mosquitto logo
efrecon/mosquitto
by efrecon
Easily configurable eclipse MQTT broker
2100K+ pulls
上次更新:6 天前
efrecon/act logo
efrecon/act
by efrecon
在Docker容器中本地运行GitHub Actions
50K+ pulls
上次更新:6 天前
efrecon/kubectl logo
efrecon/kubectl
by efrecon
提供包含多个krew插件的kubectl工具,用于Kubernetes集群管理,支持定制kubectl和krew版本及预装插件,方便快速部署和使用带有插件的kubectl环境。
50K+ pulls
上次更新:6 天前
efrecon/bat logo
efrecon/bat
by efrecon
cat命令的增强版克隆工具,提供语法高亮、行号显示和Git集成等增强功能
50K+ pulls
上次更新:6 天前
efrecon/helm logo
efrecon/helm
by efrecon
提供Docker化的Helm工具环境,用于简化Kubernetes应用的部署、管理与版本控制。
50K+ pulls
上次更新:6 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
efrecon/s3fs
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429