专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单页面收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
proftpd

serversideup/proftpd

serversideup

基于Ubuntu 22.04的轻量级ProFTPD服务器镜像,支持MySQL认证和TLS加密,适用于需要FTP服务的场景,为仍需使用FTP的用户提供支持。

1 次收藏下载次数: 0状态:社区镜像维护者:serversideup仓库类型:镜像最近更新:1 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

轩辕镜像,快一点,稳很多。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。点击查看

ProFTPD Docker镜像

[!CAUTION] 此镜像为特定使用场景创建。我们不计划扩展该项目的功能,仅因客户项目中需要处理遗留集成而创建,供可能有类似需求的用户使用。

该Docker镜像提供可定制的ProFTPD服务器,支持MySQL认证和TLS加密。

Docker镜像大小
https://hub.docker.com/r/serversideup/proftpd

基础镜像

该镜像基于ubuntu:24.04构建,提供稳定且最新的ProFTPD运行环境。

核心功能与特性

  • 支持MySQL认证的ProFTPD服务器
  • TLS加密支持
  • 通过环境变量自定义配置
  • 自签名SSL证书生成
  • IP地址封禁(10分钟内5次认证失败的IP将被封禁1小时)
  • 原生Docker健康检查,确保服务器运行状态

环境变量

以下环境变量可用于自定义ProFTPD服务器:

变量描述默认值
FTP_DEBUG_LEVEL设置ProFTPD调试级别0
FTP_LOG_LEVEL设置ProFTPD系统日志级别warn
FTP_MASQUERADE_ADDRESS被动模式连接的IP地址或主机名-
FTP_PASSIVE_PORT_RANGE_START被动端口范围起始值60000
FTP_PASSIVE_PORT_RANGE_END被动端口范围结束值60100
FTP_SQL_USERS_TABLE用于用户认证的MySQL表名ftpusers
FTP_TLS_CERTIFICATE_FILESSL证书文件路径/etc/ssl/ftp/proftpd.crt
FTP_TLS_CERTIFICATE_KEY_FILESSL证书密钥文件路径/etc/ssl/ftp/proftpd.key
FTP_TLS_REQUIRED是否要求TLSoff
FTP_TLS_WAIT_FOR_CERTIFICATE是否等待SSL证书生成(适用于使用Let's Encrypt等工具生成证书的场景)false
FTP_TLS_WAIT_TIMEOUT等待SSL证书生成的超时时间(秒)60
MYSQL_DATABASEMySQL数据库名ftpdb
MYSQL_HOSTMySQL主机地址mysql
MYSQL_PASSWORDMySQL密码ftppassword
MYSQL_PORTMySQL端口3306
MYSQL_USERMySQL用户名ftpuser

构建默认值

镜像构建过程中使用以下构建参数:

构建参数描述值
FTP_USERProFTPD运行用户proftpd_user
FTP_GROUPProFTPD运行组nogroup
FTP_SSL_CERTS_DIRSSL证书目录/etc/ssl/ftp
FTP_USERS_DIR用户主目录基础路径/var/ftp/users

使用方法

若需将Let's Encrypt与ProFTPD + CloudFlare + MySQL认证结合使用,可搭配我们的另一个镜像https://github.com/serversideup/docker-certbot-dns-cloudflare%EF%BC%8C%E4%BB%A5%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90SSL%E8%AF%81%E4%B9%A6%E5%B9%B6%E4%B8%8EProFTPD%E5%AE%B9%E5%99%A8%E5%85%B1%E4%BA%AB%E3%80%82

以下是使用ProFTPD镜像配合Let's Encrypt的完整示例配置,只需设置符合您环境的变量即可:

yml
services:
  certbot:
    image: serversideup/certbot-dns-cloudflare:latest
    volumes:
      - certbot_data:/etc/letsencrypt
    environment:
      CLOUDFLARE_API_TOKEN: "${CERTBOT_CLOUDFLARE_API_TOKEN}"
      CERTBOT_EMAIL: "${CERTBOT_EMAIL}"
      CERTBOT_DOMAINS: "${FTP_SERVER}"
      CERTBOT_KEY_TYPE: "rsa"
      PUID: "999"
      PGID: "999"
  ftp:
    volumes:
      - ftp_data:/var/ftp/users
      - ftp_logs:/var/log/proftpd
      - certbot_data:/etc/letsencrypt
    environment:
      FTP_DEBUG_LEVEL: "0" # 0-10(10为最详细)
      FTP_LOG_LEVEL: "info" # debug, info, warn, error
      FTP_MASQUERADE_ADDRESS: "${FTP_SERVER}"
      FTP_PASSIVE_PORT_RANGE_START: "60000"
      FTP_PASSIVE_PORT_RANGE_END: "60049"
      FTP_SQL_USERS_TABLE: "users"
      FTP_TLS_CERTIFICATE_FILE: "/etc/letsencrypt/live/${FTP_SERVER}/fullchain.pem"
      FTP_TLS_CERTIFICATE_KEY_FILE: "/etc/letsencrypt/live/${FTP_SERVER}/privkey.pem"
      FTP_TLS_REQUIRED: "on"
      FTP_TLS_WAIT_FOR_CERTIFICATE: "true"
      MYSQL_DATABASE: "${FTPUSER_DATABASE}"
      MYSQL_HOST: "${FTPUSER_HOST}"
      MYSQL_PASSWORD: "${FTPUSER_PASSWORD}"
      MYSQL_PORT: "${FTPUSER_PORT}"
      MYSQL_USER: "${FTPUSER_USERNAME}"
    depends_on:
      - certbot
    ports:
      - target: 21
        published: 21
        protocol: tcp
        mode: host
      - target: 990
        published: 990
        protocol: tcp
        mode: host
      - target: 60000
        published: 60000
        protocol: tcp
        mode: host
      - target: 60001
        published: 60001
        protocol: tcp
        mode: host
      - target: 60002
        published: 60002
        protocol: tcp
        mode: host
volumes:
  ftp_logs:
  ftp_data:
  certbot_data:

请确保将MySQL连接详情替换为您自己的配置。

配置说明

镜像中包含ProFTPD配置文件(proftpd.conf),其主要设置如下:

  • 支持FTP和FTPS(TLS)
  • MySQL认证
  • 被动端口范围:60000-60100
  • TLS协议:TLSv1.2和TLSv1.3
  • 日志配置
  • 用户主目录自动创建
  • 禁用***访问
  • IP地址封禁(10分钟内5次认证失败的IP将被封禁1小时)

您可根据需求修改proftpd.conf文件以进一步自定义ProFTPD服务器。

安全注意事项

  • 镜像为FTPS生成自签名SSL证书,生产环境中应替换为有效证书。
  • 确保为MySQL认证使用强密码。
  • 根据安全需求审查并调整proftpd.conf配置。
  • 考虑使用Docker secrets或其他安全方式传递数据库凭证等敏感信息。

端口

暴露以下端口:

端口服务
21FTP
990FTPS(基于TLS的FTP)
60000-60100被动端口范围

编排工具特别说明

若使用Kubernetes等编排工具,需确保容器和主机上均开放相关端口。

例如,在Docker Swarm中,需在docker-compose文件中使用长格式的ports指令:

yml
services:
  ftp:
    image: serversideup/proftpd
    ports:
      - target: 21
        published: 21
        protocol: tcp
        mode: host
      - target: 990
        published: 990
        protocol: tcp
        mode: host
      - target: 60000
        published: 60000
        protocol: tcp
        mode: host
      - target: 60001
        published: 60001
        protocol: tcp
        mode: host
      - target: 60002
        published: 60002
        protocol: tcp
        mode: host

遗憾的是,Docker Swarm不支持在长格式中指定已发布端口范围,因此需逐个指定端口。请确保开放FTP_PASSIVE_PORT_RANGE_START和FTP_PASSIVE_PORT_RANGE_END环境变量定义范围内的所有端口。

MySQL数据库

可使用MySQL或MariaDB。在数据库中创建以下表:

sql
CREATE TABLE ftpusers (
    id INT AUTO_INCREMENT PRIMARY KEY,  -- 自增主键
    username VARCHAR(255) NOT NULL,     -- 用户名,最大长度255字符
    password VARCHAR(255) NOT NULL,     -- 密码,最大长度255字符
    uid INT NOT NULL,                   -- 用户ID,整数类型
    gid INT NOT NULL,                   -- 组ID,整数类型
    homedir VARCHAR(255) NOT NULL,      -- 主目录路径,最大长度255字符
    shell VARCHAR(255) NOT NULL         -- Shell,最大长度255字符
);

然后使用以下SQL添加用户:

sql
INSERT INTO ftpusers (username, password, uid, gid, homedir, shell)
VALUES (
  'testuser',
  CONCAT('{sha256}', TO_BASE64(UNHEX(SHA2('mypassword', 256)))),
  2001,
  2001,
  '/var/ftp/users/testuser',
  '/bin/false'
);

资源

  • ******* - 社区和团队提供的友好支持
  • https://github.com/serversideup/docker-proftpd - 源代码、问题报告和项目管理
  • 专业帮助 - 直接从核心贡献者获取视频+屏幕共享帮助

贡献

作为开源项目,我们致力于开发过程的透明度和协作。非常感谢社区成员提供的任何贡献,无论是修复错误、提出功能、改进文档还是传播项目,您的参与都将增强项目实力。

  • 错误报告:使用镜像时遇到问题,请https://github.com/serversideup/docker-proftpd/issues/new/choose%E3%80%82
  • 安全报告:通过我们的负责任披露政策报告严重安全问题。

需要入门帮助?加入我们的***社区,我们将为您提供支持!

赞助商

我们所有的软件都是免费开源的。这些成果离不开赞助商的资金支持。

https://github.com/***/serversideup

黑级赞助商

青铜赞助商

目前暂无青铜赞助商。https://github.com/***/serversideup

个人支持者

https://github.com/GeekDougle  https://github.com/JQuilty  https://github.com/MaltMethodDev  

关于我们

我们是Dan和Jay——一个热爱开源产品的两人团队。我们创建了Server Side Up来分享我们所学的知识。

Dan Pastori
Jay Rogers

https://github.com/danpastori

https://github.com/jaydrogers

联系我们:

  • 📖 博客 - 获取最新的Web/移动开发指南和免费课程
  • 🙋 社区 - 从社区成员获取友好帮助
  • 🤵‍♂️ 专业帮助 - 从核心贡献者获取视频+屏幕共享支持
  • 💻 https://github.com/serversideup - 查看我们的其他开源项目
  • 📫 新闻通讯 - 跳过算法,直接获取优质内容到您的收件箱
  • **🐥 ***** - 您也可以关注Dan和Jay
  • ❤️ https://github.com/***/serversideup - 请考虑赞助我们,以便我们创建更多有用的资源

我们的产品

如果您喜欢这个项目,一定要查看我们的其他项目。

📚 书籍

  • 构建API和SPA的终极指南:从同一代码库构建Web和移动应用
  • 构建多平台浏览器扩展:从同一代码库向所有浏览器发布扩展

🛠️ 软件即服务

  • Bugflow:直接在GitHub、GitLab等平台获取可视化错误报告
  • SelfHost Pro:将Stripe或Lemonsqueezy连接到私有Docker registry,用于自托管应用

🌍 开源项目

  • AmplitudeJS:开源HTML5和JavaScript Web音频库
  • Spin:Laravel Sail的替代方案,用于从开发到生产运行Docker
  • **https://github.com/serversideup/financial-*****%EF%BC%9AMint%E3%80%81YNAB%E5%92%8CMonarch Money的开源替代品

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 proftpd 镜像标签

docker pull docker.xuanyuan.run/serversideup/proftpd:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull serversideup/proftpd:<标签>

更多 proftpd 镜像推荐

kibatic/proftpd logo

kibatic/proftpd

kibatic
轻松创建多用户ProFTPD服务器,支持被动模式,可通过环境变量配置用户和密码,支持自定义用户ID/组ID及FTPS加密,适用于快速搭建多用户FTP服务场景。
5 次收藏10万+ 次下载
1 年前更新
instantlinux/proftpd logo

instantlinux/proftpd

instantlinux
一个易用、轻量且功能齐全的ProFTPD安装,支持FTP和SFTP,可通过环境变量快速配置,适合在Docker环境中部署文件传输服务。
10 次收藏10万+ 次下载
1 个月前更新
iradu/proftpd logo

iradu/proftpd

iradu
这是一个基于Proftpd的Docker镜像,默认开启HiddenStores功能,支持快速部署FTP服务器,可自定义用户、被动端口、最大连接数及外部IP等配置。
1万+ 次下载
5 年前更新
cardonaje/proftpd logo

cardonaje/proftpd

cardonaje
暂无描述
10万+ 次下载
3 年前更新
pockost/proftpd logo

pockost/proftpd

pockost
基于Alpine的ProFTPD容器,支持MySQL、配额和SFTP功能
10 次收藏1万+ 次下载
1 年前更新
jms1989/proftpd logo

jms1989/proftpd

jms1989
该镜像提供ProFTPD服务器环境,支持文件传输服务,可配置持久化用户和被动模式,方便快速部署和管理FTP站点。
1万+ 次下载
5 年前更新

查看更多 proftpd 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

排错

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

DNS 超时

DNS 解析 · 网络超时

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
serversideup/proftpd
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
教程轩辕镜像功能与使用教程
安装一键安装 Docker 并配置镜像源
官方公众号:源码跳动|官方技术交流群:13763429
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.