本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

s3fs Docker 镜像下载 - 轩辕镜像

s3fs 镜像详细信息和使用指南

s3fs 镜像标签列表和版本信息

s3fs 镜像拉取命令和加速下载

s3fs 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

s3fs
efrecon/s3fs

s3fs 镜像详细信息

s3fs 镜像标签列表

s3fs 镜像使用说明

s3fs 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

从容器内部挂载S3存储桶并将其暴露给主机和其他容器
11 收藏0 次下载activeefrecon镜像

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,使远程文件对同一主机上运行的进程和/或其他容器可访问。

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

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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