
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!GitHub stars !Docker Stars
!https://raw.githubusercontent.com/Corilus/sftp/master/openssh.png "Powered by OpenSSH"
基于OpenSSH的SFTP(SSH文件传输协议)服务器镜像,提供安全的文件传输服务。支持通过多种方式定义用户,可灵活配置权限、挂载存储卷,并支持完整的rsyslog日志功能。适用于需要安全文件共享、权限控制及持久化存储的场景。提供Debian(稳定)和Alpine(轻量)两种基础镜像供选择。
SFTP_USERS)或配置文件(/etc/sftp/users.conf)定义用户/etc/sftp.d/目录挂载脚本,容器启动时自动执行用户配置遵循以下语法:
user:pass[:e][:uid[:gid[:dir1[,dir2]...]]]
user: 用户名(必填)pass: 密码(为空时仅支持密钥登录):e: 标记密码为加密格式(可选)uid: 用户ID(可选,默认自动分配)gid: 用户组ID(可选,默认与UID相同)dir1[,dir2]: 自动创建的子目录(可选,多个目录用逗号分隔)/home/user/upload)/home目录,需确保用户主目录下至少有一个可写子目录(用户无法直接在主目录创建文件)/etc/ssh/ssh_host_*文件(如ssh_host_rsa_key、ssh_host_ed25519_key)SFTP_USERS: 定义用户的环境变量,格式与配置文件相同(如"foo:pass:1001:100:upload,docs")bashdocker run -p 22:22 -d corilus/sftp foo:pass:::upload
foo,密码passupload目录(位于/home/foo/upload)sftp foo@<host-ip>登录bashdocker run \ -v /host/path/upload:/home/foo/upload \ -p 2222:22 -d corilus/sftp \ foo:pass:1001
/host/path/upload目录挂载到用户foo的upload目录sftp -P 2222 foo@<host-ip>登录yamlsftp: image: corilus/sftp volumes: - /host/path/upload:/home/foo/upload ports: - "2222:22" command: foo:pass:1001:100:upload,docs
users.conf:foo:123:1001:100:upload bar:456:1002:100:docs,backup
bashdocker run \ -v /host/path/users.conf:/etc/sftp/users.conf:ro \ -v sftp_data:/home \ -p 2222:22 -d corilus/sftp
sftp_data为数据卷,持久化存储用户主目录bashdocker run --rm python:alpine python -c "import crypt; print(crypt.crypt('YOUR_PASSWORD'))"
bashdocker run \ -v /host/path/share:/home/foo/share \ -p 2222:22 -d corilus/sftp \ 'foo:$1$0G2g0GSt$ewU0t6GXG15.0hWoOX8X9.:e:1001'
bashdocker run \ -v /host/path/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \ -v /host/path/share:/home/foo/share \ -p 2222:22 -d corilus/sftp \ foo::1001
.ssh/keys/目录(所有.pub文件会自动追加到authorized_keys)bashssh-keygen -t ed25519 -f ssh_host_ed25519_key < /dev/null ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key < /dev/null
bashdocker run \ -v /host/path/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key \ -v /host/path/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key \ -v /host/path/share:/home/foo/share \ -p 2222:22 -d corilus/sftp \ foo::1001
bindmount.sh:bash#!/bin/bash # 挂载共享目录到多用户 home mount --bind /data/common /home/dave/common mount --bind /data/common /home/peter/common --read-only
CAP_SYS_ADMIN权限):bashdocker run \ --cap-add=SYS_ADMIN \ -v /host/path/bindmount.sh:/etc/sftp.d/bindmount.sh \ -v /host/data:/data \ -p 2222:22 -d corilus/sftp \ dave::1001 peter::1002
| 特性 | Debian版本 | Alpine版本 |
|---|---|---|
| 镜像体积 | 较大(约100MB+) | 较小(约10MB+) |
| 稳定性 | 高(仅接受bugfix和安全更新) | 较高(6个月发布周期) |
| OpenSSH版本 | 较低(稳定版) | 较高(最新版) |
| 适用场景 | 生产环境,追求稳定性 | 资源受限环境,追求轻量 |
注:镜像构建时间可能延迟OpenSSH官方更新,建议通过官方仓库确认具体版本,或自行克隆源码构建。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 corilus/sftp 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: