узлы ftpd и pasv через docker-compose не будут подключаться при локальном запуске - PullRequest
0 голосов
/ 24 мая 2018

Я получаю следующие ошибки при использовании filezilla для доступа к ftp-серверу, который настроен через узел ftpd и развернут на контейнере Docker:

Со стороны filezilla я получаю:

Error:    The data connection could not be established: ECONNREFUSED - Connection refused by server
Response:    150 Here comes the directory listing
Error:    Connection timed out after 20 seconds of inactivity
Error:    Failed to retrieve directory listing

и из контейнера я получаю:

livedatawriter_1  | <::ffff:172.18.0.1> >> 230 User logged in, proceed.
livedatawriter_1  | <::ffff:172.18.0.1> << OPTS UTF8 ON
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: OPTS UTF8 ON
livedatawriter_1  | <::ffff:172.18.0.1> >> 200 OK
livedatawriter_1  | <::ffff:172.18.0.1> << PBSZ 0
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: PBSZ 0
livedatawriter_1  | <::ffff:172.18.0.1> >> 200 OK
livedatawriter_1  | <::ffff:172.18.0.1> << PROT P
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: PROT P
livedatawriter_1  | <::ffff:172.18.0.1> >> 200 OK
livedatawriter_1  | <::ffff:172.18.0.1> << PWD
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: PWD
livedatawriter_1  | <::ffff:172.18.0.1> >> 257 "/" is current directory
livedatawriter_1  | <::ffff:172.18.0.1> << TYPE I
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: TYPE I
livedatawriter_1  | <::ffff:172.18.0.1> >> 200 OK
livedatawriter_1  | <::ffff:172.18.0.1> << PASV
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: PASV
livedatawriter_1  | <::ffff:172.18.0.1> Setting up listener for passive connections
livedatawriter_1  | <::ffff:172.18.0.1> Passive data connection beginning to listen
livedatawriter_1  | <::ffff:172.18.0.1> Passive data connection listening on port 1025
livedatawriter_1  | <::ffff:172.18.0.1> >> 227 Entering Passive Mode (172,18,0,6,4,1)
livedatawriter_1  | <::ffff:172.18.0.1> << LIST
livedatawriter_1  | <::ffff:172.18.0.1> FTP command: LIST
livedatawriter_1  | <::ffff:172.18.0.1> Directory has 2 files
livedatawriter_1  | <::ffff:172.18.0.1> >> 150 Here comes the directory listing
livedatawriter_1  | <::ffff:172.18.0.1> Currently no data connection; expecting client to connect to pasv server shortly...

Все порты открыты, и у меня не работает ни один брандмауэр.Интересно, если это проблема с запросом, возвращающимся для внутреннего сетевого адреса докера, а не для localhost, поскольку я делаю запрос от локального хоста, но ответ приходит от внутреннего адреса.Странно то, что это работает при развертывании на сервере с DCOS.

Составной сегмент выглядит следующим образом:

  livedatawriter:
    extends:
      file: docker-compose-aws.yml
      service: aws
    build: ../LiveDataWriter
    ports:
      - "9004:9004"
      - "7002:7002"
      - "1025-1050:1025-1050"
      - "51343:51343"
    entrypoint: ["npm", "run", "debug"]
    links:
      - postgres
      - auth
      - redis
      - kafka
    depends_on:
      - auth
    environment:
      HOST: "auth"
      POSTGRES_HOST: "postgres"
      REDIS_HOST: "redis"
      KAFKA_BROKER_IPS: "kafka:9092"
      FTP_HOST: "172.18.0.6"
      FTP_PORT: 7002
      FTP_BASEFOLDER: "/temp"
      FTP_LOGLEVEL: 4
      DATA_SERVICE_HTTPS: "false"
      DATA_SERVICE_URL: "proxy:8081"
...