Docker schließt die Implementierung des FTP-Dienstaufbaus mit einer Befehlszeile ab

Docker schließt die Implementierung des FTP-Dienstaufbaus mit einer Befehlszeile ab

Einzeiliger Befehl

docker run -d \
-v /share:/home/vsftpd \
-p 20:20 \
-p 21:21 \
-p 21100-21110:21100-21110 \
-e FTP_USER=zhaoolee \
-e FTP_PASS=eelooahz \
-e PASV_ADRESSE=47.106.108.135 \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21100 \
--name zhaoolee_vsftpd \
--restart=immer \
fauria/vsftpd

Parametererklärung:

-d bedeutet, dass der neue Container im Hintergrund läuft

-v bedeutet, dass die Verzeichniszuordnung festgelegt wird. Beispiel: -v /share:/home/vsftpd ordnet das Verzeichnis /share des Hosts dem Verzeichnis /home/vsftpd des Docker-Containers zu (nachdem sich der Benutzer zhaoolee angemeldet hat, erstellt das Programm automatisch einen Ordner zhaoolee im Ordner /home/vsftpd, um hochgeladene Dateien zu speichern).

-p ist der Mapping-Port. -p 20:20 bedeutet, den Host-Port 20 dem Port 20 des Docker-Containers zuzuordnen. -p 21:21 bedeutet, den Host-Port 21 dem Port 21 des Docker-Containers zuzuordnen. -p 21100-21110:21100-21110 bedeutet, die Ports 21100 bis 21110 des Hosts den Ports 21100 bis 21110 des Docker-Containers zuzuordnen.

Eng mit dem Port verbunden sind zwei Verbindungsmodi: der aktive Modus und der passive Modus.

  • Aktiver Modus: Port 21 ist der Standardport für FTP, also der Kontrollport von FTP, und Port 20 ist der Datenport von FTP. Port 21 wird zum Empfangen von Clientverbindungen verwendet, und Port 20 wird zum Übertragen von Daten verwendet. Der Server legt (aktiv) die Regeln fest, und der Client stellt eine Verbindung mit dem Server her. Wenn Sie dann über Port 21 Daten übertragen möchten, müssen Sie Port 20 verwenden. Die Kombination aus Port 20 und Port 21 ist der aktive Modus von FTP.
  • Passiver Modus: Der aktive Modus hat einige Sicherheitsprobleme. Wenn jemand Ihren FTP-Dienst angreifen möchte, blockiert er Sie direkt an Port 20. Um zu verhindern, dass ausgehende Daten blockiert werden, wird der passive Modus angezeigt. Der passive Modus ändert den Port 20 für die Datenübertragung in einen Bereich, wie im obigen Text 21100-21110. Der spezifische Wert wird vom Client bestimmt (z. B. 21115). Auf diese Weise werden ausgehende Daten nicht so leicht blockiert und die Sicherheit wird erheblich verbessert. Die meisten FTP-Clients verwenden jetzt standardmäßig den passiven Modus, um eine Verbindung zum Server herzustellen, d. h. der Port für die Datenübertragung wird vom Client bestimmt.

-e bedeutet, Parameter anzuhängen

FTP_USER ist der FTP-Anmeldebenutzername, Einstellungsbeispiel FTP_USER=zhaoolee

FTP_PASS ist das FTP-Anmeldekennwort. Beispiel: FTP_PASS=eelooahz

PASV_ADDRESS ist die externe Netzwerk-IP-Adresse, z. B. PASV_ADDRESS = 104.243.20.148 (sehr wichtig: Sie müssen hier die externe IP-Adresse des Hosts binden, sonst können Sie später keine Verbindung herstellen. Zhaoolee hat viel Zeit damit verbracht, dies anzupassen ...)

PASV_MIN_PORT ist die Mindestportnummer für die Verbindung des Clients mit dem Server. Sie beträgt 21100 (die Mindestportnummer für den Server im passiven Modus).

PASV_MAX_PORT ist die maximale Portnummer für die Verbindung des Clients mit dem Server, nämlich 21110 (die maximale Portnummer für den Server im passiven Modus).

--name zhaoolee_vsftpd bedeutet, der Containername ist zhaoolee_vsftpd (dieser Name kann angepasst werden)

--restart=always bedeutet, dass ein Neustart möglich ist

fauria/vsftpd stellt den Bildnamen dar

Testen mit Alibaba Cloud

Öffnen Sie Port 20, Port 21, Portbereich 21100-21110

Erstellen eines Containers

Verbindungstest (FillZilla-Download-Link: https://filezilla-project.org/download.php?type=client)

Dateien per FTP hochladen

Zusammenfassung:

FTP ist ein häufig verwendeter Dienst. Hier verwenden wir die Docker-Methode von vsftp, um die Konstruktion abzuschließen. Dies kann mit einer Befehlszeile erledigt werden.
Docker-Image fauria/vsftpd Open-Source-Adresse: https://github.com/fauria/docker-vsftpd, dort finden Sie detaillierte Betriebsdokumente

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Docker Pure-FTP So erstellen Sie einen FTP-Server

<<:  Einige etwas komplexere Verwendungsbeispielcodes in MySQL

>>:  So ändern Sie das Datenbankdatenspeicherverzeichnis in MySQL

Artikel empfehlen

Was tun, wenn der von Docker Run gestartete Container hängt und Daten verliert?

Szenariobeschreibung In einem bestimmten System w...

Die Implementierung der Ereignisbindung in React verweist auf drei Methoden

1. Pfeilfunktion 1. Nutzen Sie die Tatsache, dass...

Mysql NULL verursachte die Grube

Verwenden von NULL in Vergleichsoperatoren mysql&...

So fügen Sie einen Link in HTML ein

Jede Webseite hat eine Adresse, die durch eine UR...

Vue ElementUI Form-Formularvalidierung

Die Formularvalidierung ist eine der am häufigste...

Verwenden von System.Drawing.Common in Linux/Docker

Vorwort Nachdem das Projekt auf .net Core migrier...

So schreiben Sie mithilfe von Filtern transparentes CSS für Bilder

So schreiben Sie mithilfe von Filtern transparente...

Detaillierte Erklärung der Mixin-Verwendung in Vue

Inhaltsverzeichnis Vorwort 1. Was sind Mixins? 2....

Nicht standardmäßiger Implementierungscode für die MySQL UPDATE-Anweisung

Heute werde ich Ihnen einen Unterschied zwischen ...

So verwenden Sie Zeit als Beurteilungsbedingung in MySQL

Hintergrund: Während des Entwicklungsprozesses mü...