在 Ubuntu 下通过 Docker 部署 FTP 服务器

今天我在阿贝云的免费服务器上进行部署测试,体验非常不错!阿贝云提供的免费云服务器配置为 1 核 CPU、1G 内存、10G 硬盘和 5M 带宽,真是一个不错的免费服务器,让我轻松实现了自己的项目需求。无论是灵活性还是性能,阿贝云都表现得相当出色,值得推荐给大家。

Docker 和 FTP 软件简介

Docker 是一个开源平台,允许开发者将应用及其依赖打包到一个轻量级的容器中。它的最大优势在于可以在不同环境中快速、稳定地运行应用,避免了"在我机器上能跑"的问题。

FTP(文件传输协议)是一种用于在网络上进行文件传输的标准协议。通过 FTP 服务器,用户可以上传和下载文件。我们将使用 vsftpd(非常安全的 FTP 守护进程)来搭建我们的 FTP 服务器。它以其高性能和安全性而闻名,适合各种规模的文件传输需求。

在 Ubuntu 下通过 Docker 部署 FTP 服务器的步骤

步骤 1:更新系统

首先,确保你的 Ubuntu 系统是最新的。运行以下命令:

复制代码
sudo apt update && sudo apt upgrade -y

步骤 2:安装 Docker

如果尚未安装 Docker,可以通过以下命令进行安装:

复制代码
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

步骤 3:拉取 vsftpd 镜像

接下来,拉取 vsftpd 的 Docker 镜像:

复制代码
docker pull fauria/vsftpd

步骤 4:创建数据卷

为了持久化数据,我们需要创建一个数据卷:

复制代码
docker volume create ftpdata

步骤 5:运行 FTP 容器

使用以下命令启动 FTP 容器:

复制代码
docker run -d \
  --name ftp-server \
  -v ftpdata:/home/vsftpd \
  -e FTP_USER=myuser \
  -e FTP_PASS=mypassword \
  -e PASV_ADDRESS=YOUR_PUBLIC_IP \
  -e PASV_PORT=21100-21110 \
  -p 20:20 \
  -p 21:21 \
  -p 21100-21110:21100-21110 \
  fauria/vsftpd
参数说明:
  • -d:后台运行容器。
  • --name ftp-server:为容器指定名称。
  • -v ftpdata:/home/vsftpd:将数据卷挂载到容器内的指定目录。
  • -e FTP_USER=myuser:指定 FTP 用户名。
  • -e FTP_PASS=mypassword:指定 FTP 密码。
  • -e PASV_ADDRESS=YOUR_PUBLIC_IP:指定被动模式下的公共 IP 地址。
  • -e PASV_PORT=21100-21110:指定被动模式下的端口范围。
  • -p:映射容器端口到主机端口。

步骤 6:验证 FTP 服务器

使用 FTP 客户端(如 FileZilla)连接到你的服务器,输入刚才创建的用户名和密码,测试是否能成功连接。

步骤 7:停止和删除容器(可选)

如果需要停止或删除容器,可以使用以下命令:

复制代码
docker stop ftp-server
docker rm ftp-server

通过以上步骤,你就成功在 Ubuntu 下通过 Docker 部署了一个 FTP 服务器。希望这篇教程对你有所帮助!如果有问题,欢迎随时交流。

相关推荐
Uncertainty!!7 小时前
Linux 主机无法完成校园网认证排查记录:从 DHCP、ARP 到 Portal 认证流程分析
linux·运维·服务器
其实防守也摸鱼7 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
bgy66668 小时前
从零上手 Docker,容器技术完整入门指南
运维·docker·容器
mounter6258 小时前
突破零停机演进:Linux 内核 Live Update Orchestrator (LUO) 架构设计与热升级演进
linux·服务器·linux kernel·kernel·kho·luo
黑泽明*8 小时前
KVM虚拟化入门与热迁移实战
运维·服务器
波多利希最高礼仪的握力器8 小时前
安全复制SCP
linux·服务器·安全
其实防守也摸鱼8 小时前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透
wtblszn9 小时前
污水厂可视化管理物联网解决方案
服务器·网络·物联网
bgy66669 小时前
openstack核心指南
服务器·网络·openstack
qq_322762759 小时前
一个接口从能用到稳定,中间差的到底是什么
服务器·开发语言·lua·接口·fastapi·请求