如何配置Docker以在Java中使用FTP客户端?
我正在尝试使用Docker容器化运行一个简单的Java FTP客户端(org.apache.commons.net.FTP.FTPClient)程序,以从远程FTP服务器获取一些文件 在本地运行应用程序(没有docker)效果很好。但是,容器化应用程序不会返回任何数据。示例程序:如何配置Docker以在Java中使用FTP客户端?,java,docker,ftp,Java,Docker,Ftp,我正在尝试使用Docker容器化运行一个简单的Java FTP客户端(org.apache.commons.net.FTP.FTPClient)程序,以从远程FTP服务器获取一些文件 在本地运行应用程序(没有docker)效果很好。但是,容器化应用程序不会返回任何数据。示例程序: ftpClient.connect(host, port); ftpClient.login(usr, pwd); System.out.println(ftpClient.getReplyString()); fil
ftpClient.connect(host, port);
ftpClient.login(usr, pwd);
System.out.println(ftpClient.getReplyString());
filenameList = ftpClient.listNames();
System.out.println(ftpClient.getReplyString());
对于Docker,我得到以下错误消息:连接关闭,没有指示
但有趣的是,我还收到:
230用户已登录。有什么提示吗?另一个FTP服务器与您的计算机在同一网络中吗?如果是,FTP库使用FTP端口命令,那些不能正常工作的命令是dockerNo不是,它在外部网络中。请确保使用FTP被动模式。这将使ftp服务器告诉您的ftp客户端(下一次)数据连接的连接详细信息。@user3460948:非常感谢,成功了;添加行
ftpClient.enterLocalPassiveMode()代码>与众不同!另一个FTP服务器是否与您的计算机位于同一网络中?如果是,FTP库使用FTP端口命令,那些不能正常工作的命令是dockerNo不是,它在外部网络中。请确保使用FTP被动模式。这将使ftp服务器告诉您的ftp客户端(下一次)数据连接的连接详细信息。@user3460948:非常感谢,成功了;添加行ftpClient.enterLocalPassiveMode()代码>与众不同!