Zum Hauptinhalt springen

So lernen Sie den TCP-Port in Docker kennen: Ein einfacher Leitfaden für Anfänger

Docker ist eine Plattform zum Entwickeln, Bereitstellen und Ausführen von Anwendungen in isolierten Containern. Docker-Container bieten eine bequeme und sichere Umgebung für die Bereitstellung von Anwendungen an jedem Ort. Wenn Sie Docker-Container erstellen oder ausführen, müssen Sie möglicherweise den TCP-Port kennen, der Ihrem Container zugewiesen ist.

In diesem vollständigen Handbuch erfahren Sie, wie Sie den TCP-Port kennen, an den Ihr Docker-Container gebunden ist. Wir werden uns einige Möglichkeiten ansehen, wie Sie diese Informationen schnell finden können.

Der erste Weg besteht darin, den Befehl "docker ps" zu verwenden, der eine Liste der ausgeführten Container anzeigt. Wenn Sie den Befehl ausführen, werden Informationen zu den ausgeführten Containern angezeigt, einschließlich der gebundenen TCP-Ports. Verwenden Sie das Flag "-a", um Informationen über alle Container einschließlich der angehaltenen zu erhalten.

Was ist Docker und warum ist es notwendig?

Die Containerisierung hat mehrere Vorteile. Vor allem ermöglicht es Entwicklern, sich keine Gedanken über die verschiedenen Abhängigkeiten und Konflikte zu machen, die bei der Bereitstellung einer Anwendung auf verschiedenen Servern auftreten können. Docker-Container bieten Einheitlichkeit und Portabilität, wodurch die Entwicklung, das Testen und die Bereitstellung von Anwendungen einfacher und schneller wird.

Dank der Containerisierung können Sie mit Docker alle Komponenten einer Anwendung zusammen in einen Container packen und eine Entwicklungs- und Testumgebung erstellen, die überall ausgeführt werden kann. Auf diese Weise erleichtert Docker die Übertragung und Bereitstellung von Anwendungen zwischen verschiedenen Umgebungen, vom lokalen Computer bis zu Cloud-Servern.

Insgesamt bietet Docker eine effizientere Ressourcennutzung, schnellere Bereitstellung und Skalierung von Anwendungen sowie eine leichtere Unterstützung und Aktualisierung von Anwendungen.

Grundlagen der Arbeit mit Docker-Containern

Hier sind einige grundlegende Konzepte, mit denen Sie vertraut sein sollten, wenn Sie mit Docker-Containern arbeiten:

Bilder (Images): dies ist der Ausgangspunkt für die Erstellung von Containern. Das Abbild enthält das Dateisystem und alle erforderlichen Abhängigkeiten, um Ihre Anwendung auszuführen. Die Abbilder werden basierend auf einer Dockerfile erstellt, die Anweisungen zum Erstellen des Abbilds enthält.

Container (Containers): dies sind Instanzen von Bildern. Container werden aus dem Abbild ausgeführt und stellen eine Sandbox für die Ausführung der Anwendung dar. Container können mithilfe von Docker-Befehlen erstellt, gestartet, gestoppt und gelöscht werden.

Netzwerke (Networks): Dies ist ein Mechanismus, der es Containern ermöglicht, miteinander und mit der Außenwelt zu interagieren. Docker unterstützt verschiedene Arten von Netzwerken, einschließlich Standardnetzwerken und benutzerdefinierten Netzwerken.

Volumes (Volumes): Dies ist eine Möglichkeit, Daten zwischen Host und Container sowie zwischen Containern zu speichern und abzurufen. Volumes können erstellt und zum Speichern von Daten verwendet werden, selbst nachdem die Container angehalten und gelöscht wurden.

Register (Registries): Dies sind die Docker-Image-Repositories. Sie ermöglichen es Benutzern, Bilder zu teilen und hochzuladen, damit sie von anderen verwendet werden können.

Die Verwendung von Docker-Containern macht die Entwicklung und Bereitstellung von Anwendungen einfacher und skalierbarer. Wenn Sie die Grundlagen der Arbeit mit Docker-Containern kennen, können Sie ganz einfach eigene Container erstellen und ausführen sowie bereits fertige Images aus Docker-Registern verwenden.

Wie finde ich eine Liste von Containern in Docker

Um die Liste der in Docker ausgeführten Container herauszufinden, können Sie den Befehl verwenden docker ps. Mit diesem Befehl können Sie Informationen zu Containern abrufen, z. B. eindeutige IDs, Namen, Ports, Status usw.

So führen Sie einen Befehl aus docker ps Öffnen Sie ein Terminal oder eine Eingabeaufforderung und geben Sie diesen Befehl ein. Als Antwort erhalten Sie eine Liste aller laufenden Container in Docker.

Wenn Sie weitere Informationen zu Containern sehen möchten, können Sie die Befehlsflags verwenden docker ps. Zum Beispiel könnten Sie ein Flag verwenden -a zeigt alle Container an, einschließlich angehaltener Container.

Jetzt wissen Sie, wie Sie eine Liste von Containern in Docker finden und Informationen darüber erhalten.

Wie finde ich Informationen zu einem bestimmten Container heraus

Wenn Sie Informationen zu einem bestimmten Container benötigen, stellt Docker mehrere Befehle bereit, mit denen Sie nützliche Informationen zu seiner Konfiguration und seinem Status erhalten können. Lassen Sie uns einige von ihnen betrachten.

1. Um zu beginnen, müssen Sie die ID oder den Namen des Containers kennen. Sie können dies mit dem Befehl docker ps tun, der Ihnen eine Liste der aktiven Container anzeigt.

2. Wenn Sie die ID oder den Namen eines Containers kennen, können Sie den Befehl docker inspect verwenden, um detaillierte Informationen darüber zu erhalten. Zum Beispiel zeigt Ihnen der Befehl docker inspect das gesamte JSON-Objekt mit Containerinformationen an.

3. Wenn Sie nur den Namen des Containers herausfinden müssen, können Sie den Befehl docker inspect --format='>' verwenden. Es zeigt Ihnen nur den Namen des Containers ohne unnötige Informationen an.

4. Um die IP-Adresse des Containers zu ermitteln, können Sie den Befehl docker inspect --format='>>>' verwenden. Es zeigt Ihnen nur die IP-Adresse des Containers an.

5. Wenn Sie die verwendeten Ports des Containers herausfinden müssen, können Sie den Befehl docker inspect --format='>> -> <<(index $conf 0).HostPort>> >' . Es zeigt Ihnen alle verwendeten Container-Ports und die entsprechenden Host-Ports an.

Jetzt haben Sie einige nützliche Befehle und Formate, mit denen Sie Informationen zu einem bestimmten Container erhalten können. Verwenden Sie sie, um mehr über Ihre Container zu erfahren und sie an Ihre Bedürfnisse anzupassen.

Suche nach einem Port für eine TCP-Verbindung

Wenn Sie einen Docker-Container starten und wissen möchten, an welchem Port sich der Dienst befindet, können Sie verschiedene Methoden verwenden, um nach diesen Informationen zu suchen.

Eine Möglichkeit besteht darin, in der Docker-Abbilddatei nach einem Port in der Dokumentation oder README zu suchen. Entwickler geben häufig Informationen über die Ports an, die ihre Dienste nutzen. Je nach Image finden Sie diese Informationen im Abschnitt "Port" oder "Exposed Ports".

Wenn Sie den Port innerhalb des Containers finden möchten, können Sie den Befehl ausführen docker exec um einen Befehl innerhalb eines Containers auszuführen. Sie können beispielsweise einen Befehl ausführen docker exec netstat -tuln, um eine Liste der offenen Ports im Container zu sehen.

Wenn alle oben genannten Methoden fehlschlagen, können Sie das Dienstprogramm verwenden nmap um die Ports innerhalb des Containers zu scannen. Installieren Sie das Dienstprogramm im Container mit dem Befehl apt-get install nmap (wenn Sie ein Debian- oder Ubuntu-basiertes Image verwenden) oder yum install nmap (wenn Sie ein Red Hat- oder CentOS-basiertes Image verwenden.) Führen Sie dann den Befehl aus nmap localhost um offene Ports zu scannen.

Als Ergebnis dieser Methoden können Sie die Portnummer für die TCP-Verbindung ermitteln und diese verwenden, um eine Verbindung zu einem Dienst herzustellen, der im Docker-Container ausgeführt wird.

Weitere Möglichkeiten zur Steuerung von Ports in Docker

Neben den standardmäßigen TCP-Port-Überwachungstools in Docker gibt es andere Möglichkeiten, die bei der Arbeit mit Containern nützlich sein können. Betrachten wir einige von ihnen:

  • Mit dem Befehl docker port können Sie herausfinden, an welche Ports auf dem Hostsystem die Container-Ports gebunden sind. Dies kann nützlich sein, wenn Sie die verfügbaren Ports für die Kommunikation mit dem Container kennen müssen.
  • Verwenden von Docker Compose zum Definieren und Konfigurieren von Ports:
  • Mit Docker Compose können Sie Ports für alle Container in Ihrem Projekt definieren und konfigurieren. In der Datei docker-compose.yml Sie können die Ports angeben, die Sie an jeden Container binden möchten. Dies ist praktisch, wenn Sie mit vielen Containern arbeiten und die Ports zentral verwalten möchten.
  • Verwenden eines Proxy-Containers:
  • Durch die Erstellung eines Proxy-Containers können Sie den Datenverkehr über einen bestimmten Port steuern und umleiten. Ein solcher Container kann verwendet werden, um den Datenverkehr auf mehrere Container umzuleiten, die an verschiedenen Ports ausgeführt werden, oder um Protokolle zu konvertieren. Dies kann nützlich sein, wenn Sie den Datenverkehr von einem Port zu einem anderen innerhalb Ihres Docker-Netzwerks umleiten müssen.