如何使用docker配置vsftpd

如何使用docker配置vsftpd,docker,ftp,vsftpd,Docker,Ftp,Vsftpd,我一直在尝试使用以下docker容器配置一个简单的ftp服务器: 我将容器部署在一个AmazonEC2实例上,该实例的端口为20和21打开 我的docker撰写如下: version: '3.6' services: vsftpd: image: fauria/vsftpd environment: - FTP_USER=myuser - FTP_PASS=mYp4sS ports: - 20:20 - 21:21

我一直在尝试使用以下docker容器配置一个简单的ftp服务器:

我将容器部署在一个AmazonEC2实例上,该实例的端口为20和21打开

我的docker撰写如下:

version: '3.6'
services:
    vsftpd:
    image: fauria/vsftpd
    environment:
      - FTP_USER=myuser
      - FTP_PASS=mYp4sS
    ports:
      - 20:20
      - 21:21
    volumes: 
      - /var/app/ftp:/home/vsftpd
      - /var/log/ftp:/var/log/vsftpd
启动docker时,我会得到以下日志,但什么都没有:

vsftpd  |   *************************************************
vsftpd  |   *                                               *
vsftpd  |   *    Docker image: fauria/vsftpd                *
vsftpd  |   *    https://github.com/fauria/docker-vsftpd    *
vsftpd  |   *                                               *
vsftpd  |   *************************************************
vsftpd  | 
vsftpd  |   SERVER SETTINGS
vsftpd  |   ---------------
vsftpd  |   ? FTP User: myuser
vsftpd  |   ? FTP Password: mYp4sS
vsftpd  |   ? Log file: /var/log/vsftpd/vsftpd.log
vsftpd  |   ? Redirect vsftpd log to STDOUT: No.
但是,当我尝试使用filezilla或事件cli ftp进行ftp连接时,我总是遇到服务器拒绝连接的问题


如何使ftp服务器可访问?

问题在于docker compose文件中的端口声明,如果您在github存储库中的示例中看到,将使用带有ip地址和端口的语句,而不是像以前那样仅使用端口

'3.6'
services:
    vsftpd:
    image: fauria/vsftpd
    environment:
        - FTP_USER=myuser
        - FTP_PASS=mYp4sS
    ports:
        - 0.0.0.0:20:20
        - 0.0.0.0:21:21
    volumes: 
        - /var/app/ftp:/home/vsftpd
        - /var/log/ftp:/var/log/vsftpd