
writl/sftp一个安全、可配置的SFTP服务器Docker容器,用于便捷的文件传输。
bash# 使用密码认证启动(必填) docker run --name sftp -p 2222:22 -e PASS=your_secure_password -d mobilistics/sftp # 使用数据卷 docker run --name sftp -p 2222:22 -v /host/path:/data/incoming -d mobilistics/sftp # 使用持久化SSH密钥 docker run --name sftp -p 2222:22 \ -v /host/path/data:/data/incoming \ -v /host/path/ssh:/ssh \ -d mobilistics/sftp # 使用自定义用户凭据 docker run --name sftp -p 2222:22 \ -v /host/path/data:/data/incoming \ -e USER=myuser \ -e PASS=secure_password \ -d mobilistics/sftp
| 环境变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
USER | SFTP用户名 | sftp | USER=myuser |
PASS | 用户密码 | 未设置PUBKEY时必填 | PASS=my_secure_password |
USER_ID | 用户的UID | 1000 | USER_ID=1001 |
GROUP_ID | 用户的GID | 1000 | GROUP_ID=1001 |
PUBKEY | 用于密钥认证的SSH公钥 | - | PUBKEY=ssh-rsa AAAA... |
重要提示:必须指定PASS或PUBKEY。为提高安全性,建议使用SSH密钥(PUBKEY)而非密码。
镜像使用两个重要卷:
/data/incoming:文件传输目录/ssh:SSH主机密钥存储目录(可选,用于持久化)bash# 带卷定义的示例 docker volume create sftp-data docker volume create sftp-keys docker run --name sftp -p 2222:22 \ -v sftp-data:/data/incoming \ -v sftp-keys:/ssh \ -d mobilistics/sftp
bash# 使用密码连接(交互式输入) sftp -P 2222 sftp@localhost # 使用私钥连接 sftp -P 2222 -i /path/to/private_key sftp@localhost
yamlversion: "3" services: sftp: image: mobilistics/sftp container_name: sftp-server ports: - "2222:22" volumes: - ./data:/data/incoming - ./ssh:/ssh environment: - USER=myuser - PASS=my_secure_password - USER_ID=1000 - GROUP_ID=1000 restart: unless-stopped
bash# 检查容器是否运行 docker ps | grep sftp # 查看容器日志 docker logs sftp # 进入容器调试 docker exec -it sftp bash



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务