
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Remote Storage Proxy 是一个轻量级的Docker镜像,提供远程存储代理服务。该镜像作为客户端与各类远程存储服务(如S3兼容对象存储、FTP服务器、WebDAV服务等)之间的中间层,实现请求转发、协议转换、缓存加速及访问控制等功能,旨在简化多存储系统整合、优化远程存储访问性能,并提供统一的存储访问接口。
统一企业内部多类型存储服务(如S3、FTP、本地文件系统)的访问接口,简化业务系统存储适配。
通过本地缓存减少对远程存储的直接请求,提升跨国/跨区域存储服务的访问速度(如加速访问AWS S3海外桶)。
作为存储服务的前置网关,实现访问鉴权、数据脱敏及操作审计,避免客户端直接暴露远程存储凭证。
模拟各类远程存储服务接口,无需搭建真实存储环境即可进行业务系统开发测试。
作为多存储服务的转发层,实现数据跨存储自动同步或备份,提升数据可靠性。
通过Docker Hub或私有仓库拉取镜像:
bashdocker pull remotestorageproxy:latest
启动一个基础代理服务(需通过环境变量或配置文件指定远程存储信息):
bashdocker run -d \ --name remote-storage-proxy \ -p 8080:8080 \ -e REMOTE_TYPE=s3 \ -e REMOTE_URL=https://s3.example.com \ -e REMOTE_ACCESS_KEY=AKIAEXAMPLE \ -e REMOTE_SECRET_KEY=secret \ remotestorageproxy:latest
支持两种配置方式,可单独使用或组合:
环境变量配置
通过-e参数传入环境变量,适合简单配置场景。
配置文件挂载
通过挂载本地配置文件(如config.yaml)实现复杂配置,支持多远程存储代理、细粒度缓存策略等。配置文件路径默认为/app/config.yaml,可通过CONFIG_PATH环境变量自定义。
为避免容器重启后缓存数据或配置丢失,需挂载本地目录至容器内关键路径:
/app/cache,通过-v /local/cache:/app/cache挂载-v /local/config.yaml:/app/config.yaml挂载/app/logs,通过-v /local/logs:/app/logs挂载服务启动后,通过容器映射端口(默认8080)访问代理接口,接口路径与远程存储协议兼容。例如:
http://localhost:8080/bucket/object.txt(对应远程S3桶bucket下的object.txt)http://localhost:8080/ftp/path/file.txt(对应远程FTP服务器path/file.txt)代理S3兼容存储
bashdocker run -d \ --name s3-proxy \ -p 8080:8080 \ -e REMOTE_TYPE=s3 \ -e REMOTE_URL=https://s3.region.amazonaws.com \ -e REMOTE_ACCESS_KEY=AKIAEXAMPLE \ -e REMOTE_SECRET_KEY=example-secret \ -e CACHE_ENABLED=true \ -e CACHE_SIZE=10GB \ -v /local/cache:/app/cache \ remotestorageproxy:latest
代理FTP存储
bashdocker run -d \ --name ftp-proxy \ -p 8081:8080 \ -e REMOTE_TYPE=ftp \ -e REMOTE_URL=ftp://ftp.example.com \ -e REMOTE_USER=ftpuser \ -e REMOTE_PASSWORD=ftppass \ -e PORT=8081 \ # 自定义服务端口 remotestorageproxy:latest
创建docker-compose.yml,配置多服务代理及持久化:
yamlversion: '3.8' services: storage-proxy: image: remotestorageproxy:latest container_name: storage-proxy ports: - "8080:8080" environment: - REMOTE_TYPE=s3 - REMOTE_URL=https://s3.example.com - REMOTE_ACCESS_KEY=AKIAEXAMPLE - REMOTE_SECRET_KEY=secret - CACHE_ENABLED=true - CACHE_PATH=/app/cache - LOG_LEVEL=info volumes: - ./config.yaml:/app/config.yaml # 挂载自定义配置文件(若需) - ./cache:/app/cache # 持久化缓存 - ./logs:/app/logs # 持久化日志 restart: unless-stopped
| 参数名 | 描述 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
REMOTE_TYPE | 远程存储类型 | 字符串 | 无(必填) | s3/ftp/webdav/nfs |
REMOTE_URL | 远程存储服务地址 | 字符串 | 无(必填) | 如s3://s3.amazonaws.com |
REMOTE_ACCESS_KEY | 远程存储访问密钥(如S3的Access Key) | 字符串 | 空 | - |
REMOTE_SECRET_KEY | 远程存储密钥(如S3的Secret Key) | 字符串 | 空 | - |
REMOTE_USER | 远程存储用户名(如FTP/WebDAV) | 字符串 | 空 | - |
REMOTE_PASSWORD | 远程存储密码(如FTP/WebDAV) | 字符串 | 空 | - |
PORT | 代理服务监听端口 | 整数 | 8080 | 1-65535 |
CACHE_ENABLED | 是否启用缓存 | 布尔 | false | true/false |
CACHE_SIZE | 缓存最大容量(启用时必填) | 字符串 | 无 | 如10GB/512MB |
CACHE_PATH | 缓存文件存储路径 | 字符串 | /app/cache | 容器内绝对路径 |
LOG_LEVEL | 日志级别 | 字符串 | info | debug/info/warn/error |
CONFIG_PATH | 自定义配置文件路径 | 字符串 | /app/config.yaml | 容器内绝对路径 |
若使用配置文件(如config.yaml),支持更复杂的配置(示例为S3代理+缓存+访问控制):
yamlremote: type: s3 url: https://s3.example.com access_key: AKIAEXAMPLE secret_key: secret timeout: 30s # 远程请求超时时间 cache: enabled: true path: /app/cache max_size: 10GB ttl: 24h # 缓存过期时间 server: port: 8080 read_timeout: 60s write_timeout: 60s access_control: allowed_ips: - 192.168.1.0/24 - 10.0.0.1 denied_operations: # 禁止的操作(如删除) - delete
CACHE_TTL自动清理或外部定时任务)。remotestorageproxy:1.0.0)而非latest。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






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