
instantlinux/proftpd
一个易用、轻量且功能齐全的ProFTPD安装。
本镜像提供了ProFTPD的轻量级部署方案,支持FTP和SFTP协议,可通过环境变量快速配置核心功能,也支持挂载自定义配置文件进行高级定制。适用于Docker和Kubernetes环境中的文件传输服务,尤其适合需要快速部署***FTP服务或指定用户上传服务的场景。
最常用的配置项可通过环境变量指定,其中PASV_ADDRESS为必填项。如需进一步自定义,可将配置文件挂载到/etc/proftpd.d和/etc/proftpd/modules.d目录。
若启用SFTP,需创建持久化卷并挂载到/etc/ssh,避免每次创建容器时重新生成SSH密钥。
可通过FTPUSER_xxx变量指定单个上传用户,需先创建加密密码密钥:
bashpython -c "import crypt,random,string; \ print crypt.crypt('YOURPASSWORD', '\$6\$' + ''.join( \ [random.choice(string.ascii_letters + string.digits) \ for _ in range(16)]))" | \ docker secret create ftp-user-password-secret -
Docker Compose
提供了docker-compose.yml示例,适用于在Docker Swarm中共享网络附加卷作为只读***FTP服务的常见场景。
Kubernetes部署
可通过helm或kubernetes.yaml部署,克隆仓库后使用make命令:
bashgit clone [***] cd docker-tools/k8s make proftpd
(需自定义Makefile.vars配置)
以下环境变量可在kubernetes.yaml或docker-compose.yml中指定:
| 变量 | 默认值 | 描述 |
|---|---|---|
| ALLOW_OVERWRITE | on | 允许客户端修改文件 |
| ANONYMOUS_DISABLE | off | ***登录 |
| ANON_UPLOAD_ENABLE | DenyAll | ***上传 |
| FTPUSER_NAME | ftpuser | 上传用户名 |
| FTPUSER_SECRETNAME | ftp-user-password-secret | 加密密码密钥名称 |
| FTPUSER_UID | 1001 | 上传文件的所有者UID |
| LOCAL_UMASK | 022 | 上传文件的权限掩码 |
| MAX_CLIENTS | 10 | 最大同时登录数 |
| MAX_INSTANCES | 30 | 进程限制 |
| PASV_ADDRESS | 必填——Docker引擎的地址 | |
| PASV_MAX_PORT | 30100 | 客户端端口范围(修改需重建镜像) |
| PASV_MIN_PORT | 30091 | |
| SFTP_ENABLE | off | 使用SFTP而非FTP |
| SFTP_PORT | 2222 | SFTP端口 |
| TIMES_GMT | off | 目录列表使用本地时间 |
| TZ | UTC | 本地时区 |
| WRITE_ENABLE | AllowAll | 允许上传/删除操作 |
| 密钥 | 描述 |
|---|---|
| ftp-user-password-secret | (可选)上传用户的加密密码 |
如果您想对此镜像进行改进,请参阅CONTRIBUTING。






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