I want to use a vsftp-Server in my Docker Swarm but having some network issues. I have the following compose-file:
services:
vsftpd:
container_name: vsftpd
image: million12/vsftpd
restart: always
volumes:
- /whatever:/var/ftp/:ro
environment:
- ANONYMOUS_ACCESS=true
- LOG_STDOUT=true
- CUSTOM_PASSIVE_ADDRESS=""
ports:
- 20-21:20-21
- 21100-21110:21100-21110
#network_mode: "host"
If i run this compose file with docker compose and network mode "host" then i can easily connect to it.
If i run it without network mode "host" i have the following output:
Status: Angemeldet
Status: Empfange Verzeichnisinhalt...
Befehl: PWD
Antwort: 257 "/" is the current directory
Befehl: TYPE I
Antwort: 200 Switching to Binary mode.
Befehl: PASV
Antwort: 500 OOPS: invalid pasv_address
Befehl: PORT 10,10,10,102,10,187
Fehler: Verbindung vom Server geschlossen
I can see the login in the output of the vsftp-Server:
vsftpd | [VSFTPD 16:46:41] VSFTPD daemon starting
vsftpd | Tue Nov 19 16:46:45 2024 [pid 33] CONNECT: Client ""
vsftpd | Tue Nov 19 16:46:45 2024 [pid 32] [ftp] OK LOGIN: Client "", anon password "anonymous@example.com"
I have the same results if i run it on swarm.
It seems like im having issues with the "passive ports" and the docker network. Unfortunately there is no "network_mode: host" in swarm (even if i pin the service to a host)
Is there a possibility to run vsftpd in passive Mode in Swarm like Compose with Network-Mode ? Or are there other ways to bring up a *working* ftp-Server in Swarm?
Asked by swarmer91
(1 rep)
Nov 19, 2024, 05:09 PM