Als ich mit Docker spielte, konnte ich die Beziehung zwischen dem Host-Port und dem Container-Port nicht unterscheiden, sodass die Verbindung fehlschlug. Am Ende dauerte es sehr lange, bis ich das Verstehen gelernt hatte. Deshalb schrieb ich diesen Artikel, um ihn aufzuzeichnen mein Wachstum
Verbindungsschlüssel:
Miteinander verbundene Container müssen sich im selben Netzwerk befinden. Wie docker-compose.ymlden gleichen networksWert einstellen
Zugriff zwischen Containern über den eigenen Port des Containers
Persönliche Erfahrung:
Der Hostcomputer wird mit dem Container laradockinstalliert . Host durch normalen Zugriff auf die Seite durch normalen Zugriff auf die Seitegitlabjenkinshttp://localhost:8989gitlabwebhttp://localhost:8090jenkinsweb
Ich möchte jenkinses für den Zugriff auf gitlabdie Seite, und dann http://localhost:8989der localhostSchalter 127.0.0.1, Behälter IP, Container Namen, aber alle Verbindungen sind fehlgeschlagen
Nach NN Stunden der Überprüfung von Informationen und Tests wurde schließlich festgestellt, dass der gegenseitige Zugriff zwischen Containern auf demselben Netzwerk basierte und dann über die offenen Ports des Containers selbst zugegriffen wurde, was nichts mit Mapping zu tun hatte.
Somit wird in docker-compose.ymlEinstellungen im Profil gitlabdes jenkinsContainers networksder gleiche Wert auf gesetztbackend
networks:
- backend
Schließlich jenkinsgehen Sie hinein, http://gitlabum Zugang zu erhalten. URLDie in gitlabwerden in gitlabContainer analysiert IP. Der 8989Port wird hier nicht verwendet, da sich gitlabdie webSeite im 80Port des Containers befindet