
crazymax/pure-ftpd本镜像为基于Alpine Linux的轻量级Pure-FTPd FTP服务器实现,集成了对MySQL、PostgreSQL数据库及LDAP目录服务的认证支持,适用于需要灵活用户认证机制的FTP服务场景。Alpine基础确保镜像体积小、资源占用低,同时保持Pure-FTPd的稳定性和功能完整性。
bashdocker run -d \ --name pure-ftpd \ -p 21:21 \ -p 30000-30009:30000-30009 \ -v /path/to/ftp-data:/data \ -e AUTH_METHOD=mysql \ -e MYSQL_HOST=db-host \ -e MYSQL_USER=ftpuser \ -e MYSQL_PASSWORD=ftppass \ -e MYSQL_DB=ftpdb \ crazy-max/pure-ftpd
yamlversion: '3' services: pure-ftpd: image: crazy-max/pure-ftpd container_name: pure-ftpd ports: - "21:21" - "30000-30009:30000-30009" volumes: - ./ftp-data:/data - ./ssl:/etc/ssl/pure-ftpd environment: - AUTH_METHOD=ldap - LDAP_SERVER=ldap://ldap-host:389 - LDAP_BASE_DN=ou=ftpusers,dc=example,dc=com - LDAP_BIND_DN=cn=admin,dc=example,dc=com - LDAP_BIND_PW=ldapadminpass restart: unless-stopped
| 环境变量 | 描述 | 默认值 |
|---|---|---|
AUTH_METHOD | 认证方式,可选值:mysql、pgsql、ldap、file | file |
MYSQL_HOST | MySQL数据库主机地址 | - |
MYSQL_PORT | MySQL数据库端口 | 3306 |
MYSQL_USER | MySQL认证用户 | - |
MYSQL_PASSWORD | MySQL认证密码 | - |
MYSQL_DB | 存储FTP用户的数据库名 | - |
POSTGRES_HOST | PostgreSQL数据库主机地址 | - |
POSTGRES_PORT | PostgreSQL数据库端口 | 5432 |
POSTGRES_USER | PostgreSQL认证用户 | - |
POSTGRES_PASSWORD | PostgreSQL认证密码 | - |
POSTGRES_DB | 存储FTP用户的数据库名 | - |
LDAP_SERVER | LDAP服务器URL(格式:ldap://host:port) | - |
LDAP_BASE_DN | LDAP搜索基准DN | - |
LDAP_BIND_DN | 绑定LDAP服务器的DN(可选) | - |
LDAP_BIND_PW | 绑定LDAP服务器的密码(可选) | - |
PASV_MIN_PORT | 被动模式最小端口 | 30000 |
PASV_MAX_PORT | 被动模式最大端口 | 30009 |
建议挂载以下目录以实现数据持久化:
/data:FTP用户根目录,存储上传/下载的文件/etc/pure-ftpd:配置文件目录(如需自定义配置)/etc/ssl/pure-ftpd:SSL/TLS证书目录(启用加密时)pure-ftpd.pem)挂载至/etc/ssl/pure-ftpd/目录SSL=on启用加密示例命令:
bashdocker run -d \ --name pure-ftpd \ -p 21:21 \ -p 30000-30009:30000-30009 \ -v /path/to/ftp-data:/data \ -v /path/to/ssl:/etc/ssl/pure-ftpd \ -e AUTH_METHOD=ldap \ -e LDAP_SERVER=ldap://ldap.example.com \ -e SSL=on \ crazy-max/pure-ftpd
完整配置说明及高级用法请参考项目GitHub仓库:[***]






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