FTPConnectionClosedexception:连接没有指示

问题描述 投票:0回答:1

FTP服务器运行:

  docker run -d     -p 21:21     -p 21000-21010:21000-21010     -e USERS="one|1234"     -e ADDRESS=ftp.site.domain     delfer/alpine-ftp-server

我收到以下错误:

      Exception in thread "main" java.lang.RuntimeException: org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication.
at ru.spb.client.FtpClient$.main(FtpClient.scala:23)
at ru.spb.client.FtpClient.main(FtpClient.scala)
     Caused by: org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication.
at org.apache.commons.net.ftp.FTP.getReply(FTP.java:568)
at org.apache.commons.net.ftp.FTP.getReply(FTP.java:556)

Edit:

docker日志返回:
Changing password for one
New password: 
Bad password: too short
Retype password: 
adduser: /ftp/one: No such file or directory
passwd: password for one changed by root
seems like pidfd_open syscall does not work, falling back to 
polling
failed to watch for direct child exit (pidfd_open error): Operation not permitted

可能会错过一些重要的连接设置吗?

FTP容器 -  Docker Run命令:

docker run -d \ -p 21:21 \ -p 21000-21010:21000-21010 \ -e USERS="one|Passw0rd!" \ -e ADDRESS=ftp.site.domain \ delfer/alpine-ftp-server
docker apache ftp
1个回答
0
投票

-e USERS="one|Passw0rd!"
,密码太短,因此将密码更改为
1234
    或其他密码
  • Passw0rd!
    -e ADDRESS=ftp.site.domain
    是您的FTP服务器名称。
    
  • EDIT您的 /etc /hosts
  • add
    ftp.site.domain
    ftp.site.domain

127.0.0.1

快速替代 Find FTP容器ID

127.0.0.1   localhost ftp.site.domain
如果容器ID是

docker ps

开机到FTP容器

05da9c08858f

检查FTP服务是否正在运行?

在容器中,运行命令:

docker exec -it 05da9c08858f sh

如果什么也没返回,FTP服务没有运行。

开始FTPService
netstat -tulnp | grep :21

再次命令:

vsftpd /etc/vsftpd/vsftpd.conf

返回:( FTP服务正在运行。)
netstat -tulnp | grep :21

ExIT容器:

netstat -tulnp | grep :21 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 45/vsftpd
您的测试应用程序
ftpclient.scala

更改FTP服务器到
exit

更改密码到
ftp.site.domain

Passw0rd!

下载JAR文件:

下载commons-net-3.9.0.jar(
    Https://repo1.maven.org/maven2/commons-net/commons-net/commons-net/3.9.0/commons-net-3.9.0.jar,)
  • 检查版本
    import org.apache.commons.net.ftp.FTPClient
    import java.io.IOException
    
    object FtpClient {
    
    def main(args: Array[String]): Unit = {
    
    val ftpClient = new FTPClient()
    
      try {
        ftpClient.connect("ftp.site.domain", 21)
        val success = ftpClient.login("one", "Passw0rd!")
        if (success) {
          println("Success connect")
        }
      } catch {
        case e: IOException => throw new RuntimeException(e)
      } finally {
    // 
    }
    
    }
    }
    
  • runapp
  • $ scala -version
    Scala code runner version: 1.5.4
    Scala version (default): 3.6.4
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.