Ich habe zwei Container ausgeführt: c1 und c2.Docker-Container kann keine Verbindung zu Port herstellen, der von einem anderen Docker-Container geöffnet wurde
C1 ist auf Port 2181 und C2 ist eine Verbindung zu Port 2181
Problem ist C2 zu C1 keine Verbindung herstellen kann auf dem Port und ich bin mir nicht sicher, warum.
Wenn ich den Code, der zu C1 nicht in einem Container verbindet, funktioniert es gut. Ich weiß also, dass C1 läuft und der Port korrekt angezeigt wird. Nur wenn ich die Anwendung in einen eigenen Container lösche, ist der Port nicht mehr sichtbar.
Ich habe lsof aus C2 versucht und es ist nicht aufgeführt, was sinnvoll ist, warum es fehlschlägt.
Irgendwelche Hinweise darauf, wo ich als nächstes aussehen sollte, würden geschätzt.
Ich war mit Docker-komponieren so die Behälter in der gleichen Netzgruppe standardmäßig sein sollte:
Hier ist meine compose Datei:
version: '2'
services:
c1:
build: .
volumes:
- .:/code
depends_on:
- c2
c2:
image: jplock/zookeeper
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
In C1, der Initiator mit dem URI localhost: 2181
Zeigen Sie uns Ihren Code? Nicht alles, aber genug, um das Problem genau zu reproduzieren. Welche Adresse verwenden Sie speziell, um eine Verbindung zum zweiten Container herzustellen? – larsks
Ahh guter Punkt, lesen Sie einfach, dass Sie den Namen des Containers in der Compose-Datei anstelle des Hostnamens verwenden sollten. Ich verweise immer noch auf localhost. Ich werde das ausprobieren und werde es euch wissen lassen. – JamesC
Danke, Larsks, du hast mir geholfen, dorthin zu kommen. – JamesC