vsftpd@容器启动ftp服务

Docker容器并运行 FTP 服务。

1. 拉取镜像

1
docker pull fauria/vsftpd

2. 启动容器

使用 docker run 命令启动 fauria/vsftpd 容器。以下是一个基本的启动命令示例:

1
2
3
4
5
6
7
8
9
docker run -d \
--name vsftpd \
-p 21:21 \
-p 20:20 \
-p 21100-21110:21100-21110 \
-e FTP_USER=myuser \
-e FTP_PASS=mypassword \
-e PASV_ADDRESS=127.0.0.1 \
fauria/vsftpd

参数说明

  • -d:后台运行容器。
  • --name vsftpd:指定容器名称为 vsftpd
  • -p 21:21:映射 FTP 控制端口。
  • -p 20:20:映射 FTP 数据端口(主动模式)。
  • -p 21100-21110:21100-21110:映射被动模式所需的端口范围。
  • -e FTP_USER=myuser:设置 FTP 用户名。
  • -e FTP_PASS=mypassword:设置 FTP 用户密码。
  • -e PASV_ADDRESS=127.0.0.1:设置被动模式的公网 IP 地址(替换为你的服务器公网 IP 或本地 IP)。
  • fauria/vsftpd:使用的镜像名称。

3. 验证服务是否运行

  • 检查容器状态:

    1
    docker ps

    确保 vsftpd 容器在运行。

  • 测试 FTP 连接:
    使用 FTP 客户端(如 FileZilla)或命令行工具连接:

    1
    ftp 127.0.0.1

    输入用户名 myuser 和密码 mypassword 进行登录。

4.可选配置

  • 持久化存储:如果你希望数据持久化,可以挂载卷:
    1
    -v /path/to/local/folder:/home/vsftpd
  • 启用 SSL/TLSfauria/vsftpd 支持 SSL,需设置环境变量并提供证书:
    1
    2
    -e FTP_SSL=YES \
    -v /path/to/cert.pem:/etc/vsftpd/vsftpd.pem

5. 常见问题

  • 如果无法连接,检查防火墙是否开放了端口(21、20、21100-21110)。
  • 确保 PASV_ADDRESS 设置为服务器的正确公网 IP。
  • 查看容器日志以排查错误:
    1
    docker logs vsftpd