Docker-Ports: Konfiguration und Nutzung

watch 3m, 20s
views 2

16:47, 02.06.2026

Artikel Inhalt
arrow

  • Einführung
  • Warum Port-Mapping wichtig ist
  • So fügen Sie einem laufenden Container eine neue Portzuordnung hinzu
  • Neustart des Containers mit aktualisierten Einstellungen
  • Schritte:
  • Neustart mit Docker Commit
  • Schritte:
  • So ändern Sie Docker-Einstellungen im laufenden Betrieb
  • 1. Anhalten des Containers und des Docker-Dienstes
  • 2. Konfigurationsdateien finden
  • 3. Änderungen an der Konfiguration vornehmen
  • 4. Überprüfen der aktualisierten Konfiguration
  • 5. Anwenden der neuen Portzuordnung auf einen laufenden Container
  • Fazit

Einführung

Docker hat die Art und Weise, wie Entwickler Anwendungen erstellen, bereitstellen und verwalten, durch den Einsatz von Containerisierung revolutioniert. Eine wichtige Komponente bei der Arbeit mit Docker-Containern ist die Verwaltung von Ports, die für die Kommunikation zwischen Ihren containerisierten Diensten und der Außenwelt erforderlich sind. Ganz gleich, ob Sie einen Webserver auf Port 80 oder eine benutzerdefinierte App auf Port 8080 bereitstellen – das Verständnis der Docker-Portkonfiguration ist für eine effektive Container-Orchestrierung unerlässlich.

Dieser Artikel führt Sie durch das Port-Mapping in Docker – was es ist, warum es wichtig ist und wie man es konfiguriert, auch für laufende Container.

Warum Port-Mapping wichtig ist

Container sind standardmäßig vom Host-System isoliert. Wenn eine containerisierte Anwendung intern auf einem bestimmten Port lauscht, muss dieser Port explizit einem Port auf dem Host-Rechner zugeordnet werden, damit er von außen zugänglich ist.

Beispiel: docker run -p 8080:80 nginx

Dies ordnet Port 80 im Container dem Port 8080 auf dem Host zu, wodurch der NGINX-Server über localhost:8080 erreichbar ist.

Ohne Portzuordnung:

  • Auf Anwendungen kann von außerhalb des Docker-Netzwerks nicht zugegriffen werden.
  • Dienste können nicht container- oder systemübergreifend kommunizieren.
  • Entwicklung und Debugging werden erschwert.

So fügen Sie einem laufenden Container eine neue Portzuordnung hinzu

Docker unterstützt das direkte Hinzufügen neuer Portzuordnungen zu einem bereits laufenden Container nicht. Das -p-Flag funktioniert nur während der Container-Erstellungsphase (docker run).

So stellen Sie einen neuen Port bereit:

  • Sie müssen den Container mit der neuen Portkonfiguration neu erstellen.
  • Alternativ können Sie einen Workaround wie Docker commit und einen Neustart verwenden (siehe unten).

Neustart des Containers mit aktualisierten Einstellungen

Wenn Sie die Portzuordnung aktualisieren möchten:

Schritte:

  1. Stoppen Sie den Container:
    docker stop <container_name_or_id>
  2. Entfernen Sie den Container (Daten bleiben erhalten, wenn Volumes verwendet werden):
    docker rm <container_name_or_id>
  3. Erstellen Sie ihn mit neuen Portzuordnungen neu:
    docker run -d -p 8080:80 --name my-nginx nginx Stellen Sie sicher, dass Sie alle erforderlichen Volumes, Umgebungsvariablen oder Netzwerke beim Neuerstellen des Containers beibehalten.

Neustart mit Docker Commit

Wenn der laufende Container benutzerdefinierte Konfigurationen enthält, die Sie nicht verlieren möchten:

Schritte:

  1. Committen Sie den Container-Zustand in ein neues Image:
    docker commit <container_id> myimage:withports
  2. Starten Sie einen neuen Container aus dem festgeschriebenen Image mit aktualisierten Ports:
    docker run -d -p 8080:80 --name new_container myimage:withports Mit dieser Methode können Sie das Dateisystem des aktuellen Containers beibehalten und gleichzeitig neue Ports freigeben.

So ändern Sie Docker-Einstellungen im laufenden Betrieb

Docker erlaubt zwar keine Live-Portänderungen an Containern, Sie können jedoch umfassendere Änderungen an der Docker-Konfiguration vornehmen, um das zukünftige Verhalten von Containern anzupassen oder zu Debugging-Zwecken.

1. Anhalten des Containers und des Docker-Dienstes

Halten Sie den Container und anschließend den Docker-Daemon an (möglicherweise ist sudo erforderlich):

docker stop <container_name> sudo systemctl stop docker

2. Konfigurationsdateien finden

Docker-Einstellungen befinden sich häufig unter:

  • Linux: /etc/docker/daemon.json
  • Windows/Mac (Docker Desktop): Über die GUI oder ~/.docker/config.json

3. Änderungen an der Konfiguration vornehmen

Bearbeiten Sie daemon.json, um benutzerdefinierte Portzuordnungen oder experimentelle Funktionen festzulegen.

Beispiel: 


"iptables": true, 
"default-address-pools": [ 

"base": "10.10.0.0/16", 
"size": 24


}

Hinweis: Portzuordnungen werden hier nicht direkt geändert, aber andere Netzwerkverhalten können konfiguriert werden.

4. Überprüfen der aktualisierten Konfiguration

Auf Syntaxfehler prüfen:

sudo dockerd --config-file /etc/docker/daemon.json --debug

Bei Erfolg den Docker-Dienst neu starten:

sudo systemctl start docker

5. Anwenden der neuen Portzuordnung auf einen laufenden Container

Nach dem Neustart von Docker:

  • Erstellen Sie einen neuen Container mit der gewünschten Portzuordnung.
  • Verwenden Sie docker exec, docker cp oder Volume-Mounts, um bei Bedarf Daten aus dem alten Container zu übertragen.

Fazit

Die Docker-Portzuordnung ist grundlegend für die Bereitstellung barrierefreier, vernetzter Anwendungen. Zwar erlaubt Docker keine spontane Änderung von Ports bei aktiven Containern, doch gibt es zuverlässige Workflows, um Container mit neuen Einstellungen neu zu konfigurieren, darunter das Committen und erneute Erstellen von Containern. Das Verständnis dieser Vorgehensweisen gewährleistet, dass Sie Verfügbarkeit, Barrierefreiheit und Skalierbarkeit in containerisierten Umgebungen aufrechterhalten.

Teilen

War dieser Artikel für Sie hilfreich?

VPS beliebte Angebote

-20.5%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
8 TB
KVM-SSD 8192 Metered Linux

57 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
3 Epyc Cores
RAM
RAM
2 GB
Space
Space
25 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 2048 Windows

9.9 /mo

/mo

Alle 12 Monate abgerechnet

-12.3%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 16384 Windows

237 /mo

/mo

Alle 12 Monate abgerechnet

-9.5%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 32768 Windows

74.49 /mo

/mo

Alle 12 Monate abgerechnet

-15%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
80 Mbps
DDoS Protected SSD-wKVM 8192 Windows

101 /mo

/mo

Alle 12 Monate abgerechnet

-15.6%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
30 Mbps
DDoS Protected SSD-KVM 1024 Linux

38 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 4096 Linux

16.45 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 8192 Linux

25.85 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 32768 Linux

69.99 /mo

/mo

Alle 12 Monate abgerechnet

-18.6%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
4 TB
wKVM-SSD 4096 Metered Windows

38 /mo

/mo

Alle 12 Monate abgerechnet

Weitere Artikel zu diesem Thema

cookie

Cookies und Datenschutz akzeptieren?

Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die beste Erfahrung auf unserer Website bieten. Wenn Sie fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass Sie mit dem Empfang aller Cookies auf der HostZealot-Website einverstanden sind.