我一直在Docker容器中的Ubuntu上使用proftpd。它成功登录但未能获得目录列表。
以下是Filezilla
的屏幕截图
Proftpd日志文件的屏幕截图
任何帮助?
答案 0 :(得分:3)
问题是 proftpd 通告内部IP地址172 ....因此客户端无法连接到它。
您可以通过设置(在proftpd.conf中)
来解决此问题MasqueradeAddress externalIP
或使用以下方式运行conatiner:
docker run --net=host .....
此选项使用主机IP网络,因此被动模式可以正常工作。
答案 1 :(得分:0)
确保在正在运行的容器上公开已配置的被动端口(例如PassivePorts 60000 65534)以允许传入连接
答案 2 :(得分:0)
看起来ftpd在更改某种运行用户时遇到权限问题。
尝试将ftpd设置为使用Dockerfile中的docker USER userftp
(https://docs.docker.com/reference/builder/#user)登录的用户。
请记住,你可以让它在端口上侦听> 1024并在启动容器时使用-p 21:2121
使其在端口21上运行到世界各地。
如果你发布了你正在使用的Dockerfile和配置会很有帮助,所以我们可以自己测试一下。