Я пытаюсь заставить мое приложение нормально работать в Docker, но у меня проблемы с ним.
Приложение подключается к удаленному FTP-серверу в режиме PASV и помещает файл. Довольно просто и отлично работает без докера. Ни FTP-сервер, ни клиент не находятся за NAT; но клиент становится NAT'd, потому что я использую мостовую сеть Docker. (Использование конфигурации моста по умолчанию http://pastie.org/10954592)
Если я смотрю tshark на FTP-сервере при запуске клиентского приложения, оно обменивается большим количеством пакетов, поэтому оно "подключается" к серверу, но приложение ничего не получает обратно. Это заставляет меня предположить, что когда FTP-сервер пытается ответить на этот эмпирический порт, он не перенаправляется обратно в контейнер Docker из хост-ОС.
Итак, надеемся подвести итог, есть ли хороший способ, чтобы эти порты pasv были правильно перенаправлены на док-мост? Ограничение: У меня нет контроля над FTP-сервером на производстве, поэтому я не могу просто жестко закодировать список портов pasv для iptables.
Спасибо за любые идеи!