Ich verwende docker, um mehrere Container zu erstellen, von denen einer eine Rabbitmq-Instanz enthält und ein anderer die Aktion node.js enthält, die auf die Queue-Aktivität reagieren soll . Beim Durchlaufen der Docker-Compose-Protokolle sehe ich viele ECONNREFUSED-Fehler, bevor ich sehe, wo die Zeile beginnt, die anzeigt, dass rabbitmq in seinem Container gestartet wurde. Dies scheint darauf hinzudeuten, dass rabbitmq anscheinend nach dem Dienst beginnt, der es benötigt.node.js, Rabbitmq & Docker: Der Dienst mit seneca scheint vor rabbitmq zu starten
Als Sidebar, nur alle anderen möglichen Ursachen hier zu eliminieren ist die Verbindungszeichenfolge für node.js zu rabbitmq verbinden:
amqp://rabbitmq:5672
und hier ist der Eintrag für rabbitmq im Docker-compose.yaml Datei:
rabbitmq:
container_name: "myapp_rabbitmq"
tty: true
image: rabbitmq:management
ports:
- 15672:15672
- 15671:15671
- 5672:5672
volumes:
- /rabbitmq/lib:/var/lib/rabbitmq
- /rabbitmq/log:/var/log/rabbitmq
- /rabbitmq/conf:/etc/rabbitmq/
service1:
container_name: "service1"
build:
context: .
dockerfile: ./service1.dockerfile
links:
- mongo
- rabbitmq
depends_on:
- mongo
- rabbitmq
service2:
container_name: "service2"
build:
context: .
dockerfile: ./service2/dockerfile
links:
- mongo
- rabbitmq
depends_on:
- mongo
- rabbitmq
Was ist die Lösung für dieses Timing-Problem?
Wie kann ich rabbitmq starten, bevor der Verbraucher startet?
Bitte lassen Sie mich wissen, wenn dies kein Timing-Problem ist, sondern eine Konfiguration. Problem in dem Docker-Compose.yml-Eintrag, den ich aufgelistet habe?
Ich habe das Skript hinzugefügt und erhalte "FEHLER: für app_myapp Kann den Dienst nicht starten meine App: oci Laufzeitfehler: container_linux.go: 265: startender Container-Prozess verursacht" exec: \ "./ wait-for-it.sh \": stat ./wait-for-it.sh: keine solche Datei oder kein Verzeichnis ". Das ist seltsam, da sich die Datei docker_compose.yaml im selben Ordner wie die Datei wait-for-it.sh befindet. Dies ist die Befehlszeile, die ich hinzugefügt habe , "Befehl: [" ./wait-for-it.sh "," rabbitmq: 5672 "," -t "," 90 "]" – user1790300