FTP works using Filezilla but it doesn't with Netbeans

Hi folks

I’m new working with docker, so problaby it’s mine mistake.
I configured an pure-ftp server.
When I try access it with Filezilla, everythings works fine.
But when I try access with the Netbeans IDE, it doesn’t work. I already turn off the proxy, but I really don’t know what to do or where to change to make it work.

When I try use Netbeans to download files, it give to me the message: “Cannot download file test.php (unknown reason).”. When try to upload it gives to me the message: “Cannot list files for /mysystem. Reason: 215 UNIX Type: L8”.

This is my docker file:

FROM stilliard/pure-ftpd:latest

EXPOSE 21
EXPOSE 20

RUN useradd --home /var/www/html -s /bin/bash -g www-data ftpuser
RUN (echo mypass;echo mypass) | passwd ftpuser

This is my docker-compose file:

ftp-desenvolvimento:
    build:
      dockerfile: pureftp.dockerfile
      context: .
    image: img_app_ftp
    container_name: ctn_app_ftp_desenvolvimento
    network_mode: "host"
    stdin_open: true
    tty: true
    environment:
      FTP_USER_NAME: cakephp
      FTP_USER_PASS: mypass
      FTP_USER_HOME: /var/www/html
      FTP_MAX_CLIENTS: 10
        #FTP_PASSIVE_PORTS: 30000-30010
      FTP_USER_UID: 33
      FTP_USER_GID: 33
      PUBLICHOST: 10.76.64.99
      ADDED_FLAG: "-d -d"
    ports:
      - target: 20
        published: 20
        protocol: tcp
        mode: host
      - target: 21
        published: 21
        protocol: tcp
        mode: host
          #- 30000-30010:30000-30010
    volumes:
      - vl_app_cake_desenvolvimento:/var/www/html
      

Thank you in advance.

FTP is kind of retired, current browser usually don’t support it anymore.

When using the usual “passive” mode, port 21 is used for control connection and other dynamic ports are used for data transfer.

Maybe the working client automatically switches to active mode to use a single port. The challenge is that there is no “control” during transfer.

Small addition: on active mode the ftp server actively needs to connect on a random port on the client. So if the client is in the same network (or a routed network, as in no nat involved throughout the path) and has no firewall: it will work.

Passive mode has other challenges. Google should provide plenty of good results that explain it.