当前位置: 首页 > news >正文

在 Docker 中部署 FTP 服务器

在 Docker 中部署 FTP 服务器可以通过以下步骤完成,这里以广泛使用的 pure-ftpd 镜像为例,提供完整部署方案:

📦 基础部署(单用户模式)

# 创建数据目录
mkdir -p ~/ftp/data ~/ftp/config# 运行容器(单用户模式)
docker run -d \--name ftp_server \-p 21:21 \-p 30000-30009:30000-30009 \-e FTP_USER_NAME=myuser \-e FTP_USER_PASS=MySecurePassword! \-e FTP_USER_HOME=/home/myuser \-v ~/ftp/data:/home/myuser \-v ~/ftp/config:/etc/pure-ftpd/passwd \stilliard/pure-ftpd:hardened

⚙️ 多用户高级配置(docker-compose.yml)

version: '3.8'
services:ftp:image: stilliard/pure-ftpd:hardenedcontainer_name: pure-ftpdports:- "21:21"- "30000-30009:30000-30009"  # PASV端口范围volumes:- ./ftp_data:/ftp- ./config:/etc/pure-ftpd/passwdenvironment:PUBLICHOST: your.domain.com  # 被动模式公网IP/域名FTP_PASSIVE_PORTS: "30000:30009"command: /run.sh -c 30 -C 10 -l puredb:/etc/pure-ftpd/pureftpd.pdb -E -j -R -P $PUBLICHOST

🔐 创建多用户账户

# 进入容器
docker exec -it pure-ftpd bash# 创建用户组
groupadd ftpgroup# 添加用户 (格式: useradd -g ftpgroup -d /ftp/{用户名} {用户名})
useradd -g ftpgroup -d /ftp/user1 user1
useradd -g ftpgroup -d /ftp/user2 user2# 设置密码
pure-pw useradd user1 -u ftpuser -g ftpgroup -d /ftp/user1
pure-pw useradd user2 -u ftpuser -g ftpgroup -d /ftp/user2# 更新数据库
pure-pw mkdb
exit

🌐 防火墙配置

# 开放端口
sudo ufw allow 21/tcp
sudo ufw allow 30000:30009/tcp

🛠️ 连接测试

使用 FileZilla 客户端连接:

地址: 服务器IP
端口: 21
协议: FTP
加密: 普通FTP(不加密)
用户: 创建的用户名
密码: 对应用户密码

🔒 TLS 加密配置(可选)

# 在docker-compose.yml中添加
environment:ADDED_FLAGS: "--tls=1"
volumes:- ./ssl:/etc/ssl/private

生成证书:

openssl req -x509 -nodes -newkey rsa:2048 \-keyout ~/ftp/ssl/pure-ftpd.pem \-out ~/ftp/ssl/pure-ftpd.pem \-subj "/CN=your.domain.com"

⚠️ 安全注意事项

  1. 避免使用弱密码:密码复杂度应大于12位
  2. 限制用户权限
  3.  
  4. 启用日志审计
  5.  

🔄 管理命令

# 添加新用户
docker exec pure-ftpd pure-pw useradd newuser -u ftpuser -d /ftp/newuser# 重置密码
docker exec pure-ftpd pure-pw passwd user1# 查看在线用户
docker exec pure-ftpd pure-ftpwho

💡 替代方案

镜像名称

特点

适用场景

fauria/vsftpd

轻量级(仅7MB)

资源受限环境

delfer/alpine-ftp-server

基于Alpine(5MB)

超轻量部署

mcreations/ftp

支持Web管理界面

需要可视化操作

 

重要提示:FTP协议本身不加密传输数据,敏感环境应:

1. 启用FTPS(FTP over SSL)

2. 或改用SFTP(SSH File Transfer Protocol)

3. 限制IP访问:docker run --add-host=allowed.ip:192.168.1.100
http://www.gsyq.cn/news/40980.html

相关文章:

  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名自动化脚本项目需求洞察
  • kafka-ui-docker-compose.yml
  • lprm命令 – 移除打印队列中的任务
  • 2025 年 11 月隐框幕墙精致钢厂家推荐排行榜,隐框幕墙精致钢型材,幕墙精致钢构件,精致钢幕墙材料公司推荐,专业品质与结构安全之选
  • 遍插茱萸少一N
  • 高教工具箱使用说明书.docx
  • 2025石家庄设计公司权威排行推荐榜:石家庄vi设计公司,石家庄画册设计公司品牌实力与创意服务的全景评测
  • 2025年博物馆数字展厅制造企业权威推荐榜单:智能化展厅/企业展厅LED屏/企业展示展厅源头厂家精选
  • 基于直方图均衡化的图像去雾算法改进
  • 2025年现代候车亭企业权威推荐榜单:现代公交候车亭/现代公交站台/现代公交站亭源头厂家精选
  • 大屏动态交互总结
  • win7 系统完美运行. net 8 程序 所需依赖总结
  • CTF-show_Web方向(更新中)
  • C语言运维面试:四大核心概念解析 - 指南
  • GMP-MES之常用术语、流程及动作
  • 251105B. 换来换去/card
  • AI开发实践:如何通过案例学习快速上手项目开发
  • CentOS 7 安装条码识别工具 zbar
  • 2025深圳艺考生文化课辅导推荐榜:全日制艺考生文化课培训机构,精准提分机构精选
  • 2025年方形橡胶减震器工厂权威推荐榜单:JGF型减震器/JGF型橡胶减震器/ZA型橡胶减震器源头厂家精选
  • 2025/11/6
  • 2025 年最新推荐立体画厂家权威榜单:涵盖 3D 光栅立体画 / 立体光栅卡 / 3D 装饰立体画 / 三维立体画,专业测评助力精准选择
  • 2025年哈尔滨装修公司推荐:哈尔滨千墨装饰等5家靠谱企业实力揭秘
  • 2025年钢制拍门工厂权威推荐榜单:玻璃钢拍门/防倒灌拍门/浮箱拍门源头厂家精选
  • 2025 年养老院机构排行榜最新推荐:医养康护一体化服务品牌精选,权威测评机构详情揭晓自理老人住/失能老人住/陪伴式/失智失能照护养老院公司推荐
  • 2025 成都全屋定制厂家最新推荐:直营厂家榜单,透明服务与环保性能权威测评解析
  • 2025年全自动编织袋撕碎机定制厂家权威推荐榜单:废布条撕碎机/编织袋撕碎机/薄膜料撕碎机源头厂家精选
  • 软考中级系统集成项目管理计算题(五)
  • 2025年鲁冠高透光农膜企业权威推荐榜单:持久高透光抗老化农膜/95%以上高透光率农膜/黄瓜大棚高透光膜源头厂家精选
  • 2025年tpep防腐钢管制造企业权威推荐榜单:防腐螺旋钢管/防腐无缝钢管/聚乙烯防腐钢管源头厂家精选