Lösen Sie das Problem, dass beim Ausführen von Docker zwei Ports gestartet werden, die unterschiedliche Ports belegen

Lösen Sie das Problem, dass beim Ausführen von Docker zwei Ports gestartet werden, die unterschiedliche Ports belegen

Problembeschreibung:

Nach der Ausführung von docker run -p 19918:19918/tcp -v /etc/localtime:/etc/localtime

Docker ps zeigt, dass Port 19918 und ein weiterer Port gestartet sind und in der Registrierung kein ausführbares Programm gefunden wird.

Problemanalyse:

Der andere gestartete Port wurde zuvor konfiguriert. Es wird spekuliert, dass der vorherige Container zusätzlich zu dem gerade während der Ausführung erstellten Projekt ausgeführt wurde.

Lösung:

Zeigen Sie die Container in Docker-Images an und löschen Sie dieselben und zwei ausgeführte Port-Container. Führen Sie es erneut aus und es zeigt den Erfolg!

Zusammenfassen:

Halten Sie Benennungsnormen ein und entfernen Sie unnötige Container rechtzeitig.

Zusätzliche Kenntnisse: Führen Sie mehrere verschiedene Prozesse aus, wenn Docker gestartet wird, installieren Sie SSH und starten Sie es gleichzeitig mit Jenkins, wenn Docker gestartet wird

Als ich kürzlich an einem Jenkins-Slave-Knoten arbeitete, musste ich SSH installieren, um eine Verbindung mit dem Master herzustellen. Zu diesem Zeitpunkt musste der Slave den SSH-Dienst installieren, aber nachdem der Knoten neu gestartet wurde, musste ich SSH manuell starten.

Um Probleme zu vermeiden, führen Sie SSH- und Jenkins-Dienste aus, wenn Sie starten möchten

1. Wenn Docker ausgeführt wird, sind zum Starten von SSH Root-Berechtigungen erforderlich. Andernfalls haben Sie keine Berechtigung zum Ausführen vieler Dinge auf SSHD.

Fügen Sie daher beim Ausführen von Docker einen Parameter hinzu --user root

docker run -d --user root --name jenkins_nodes3 --add-host gitlab.com:100.20.20.100 -v /home/_data_slave:/var/jenkins_home -p 8188:8080 -p 51005:50000 -p 8122:22 jenkins_ssh

2. Ändern Sie die Startdatei /usr/local/bin/jenkins.sh und fügen Sie die folgende Zeile hinzu

/usr/sbin/sshd -D > null 2>&1 &

Wenn es Ihr eigenes Programm ist, können Sie das Protokoll in Ihre eigene Protokolldatei umleiten

Der obige Artikel zur Lösung des Problems, dass beim Ausführen von Docker zwei Prozesse gestartet werden, die unterschiedliche Ports belegen, ist alles, was ich mit Ihnen teilen kann. Ich hoffe, er kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zum Beenden von Bash im Docker-Container unter Linux
  • Docker verwendet Supervisor zur Verwaltung von Prozessvorgängen
  • Aktivieren Sie den SSHD-Vorgang im Docker

<<:  Unbekannte Verwendung von Object.entries in JavaScript

>>:  So erstellen Sie eine Testdatenbank mit zig Millionen Testdaten in MySQL

Artikel empfehlen

CSS3 erzielt einen unendlichen Scroll-/Karusselleffekt der Liste

Effektvorschau Ideen Scrollen Sie durch die aktue...

Zusammenfassung häufig verwendeter Escape-Zeichen in HTML

Die in HTML häufig verwendeten Escape-Zeichen wer...

JavaScript-Array-Deduplizierungslösung

Inhaltsverzeichnis Methode 1: Set: Es handelt sic...

Detaillierte Analyse von MySQL-Datenbanktransaktionen und -Sperren

Inhaltsverzeichnis 1. Grundlegende Konzepte SÄURE...

MySQL-Sortierung – Chinesische Details und Beispiele

Detaillierte Erklärung zur MySQL-Sortierung chine...

Warum node.js nicht für große Projekte geeignet ist

Inhaltsverzeichnis Vorwort 1. Anwendungskomponent...

Detaillierte Erläuterung des Ausführungsplans, Beispiel für einen Befehl in MySQL

Vorwort Der Befehl „Explain“ ist die primäre Mögl...

MySQL-Onlineprobleme mit langsamem Log und Optimierungslösungen

Das MySQL-Slow-Log ist ein Informationstyp, auf d...