2016-04-30 2 views
0

Ich versuche, RPC mit RabbitMQ innerhalb von 2 Docker Container zu tun. Ich habe sie setzen sich wie folgt zusammen:RabbitMQ innerhalb Docker wird nicht ordnungsgemäß beendet und kann nicht erneut verbinden

chindow: 
image: bablot/chindow 
ports: 
    - "9999:9999" 
links: 
    - rabbitmq:amq 

rabbitmq: 
image: rabbitmq:3 
ports: 
    - "15672:15672" 

Alles wie erwartet funktioniert zunächst, aber dann, wenn ich das System herunterfahren mit ctrl+c führt es in dem folgenden Fehler:

babelotserver_rabbitmq_1 exited with code 143

und dann wenn ich gehe, das System neu zu starten:

chindow_1 | { [Error: connect ECONNREFUSED 172.17.0.3:5672] 
      code: 'ECONNREFUSED', 
      errno: 'ECONNREFUSED', 
      syscall: 'connect', 
      address: '172.17.0.3', 
      port: 5672 } 

EDIT:

Als ich docker stop rabbitmq ich code 143 Als ich docker stop node.js ich code 0

Warum diese 2 verschieden sind? Ist das sinnvoll?

Antwort

1

Stellen Sie sicher, dass Sie docker-compose format Version 2 verwenden.

Es wird eine Brücke Netzwerk erstellen: siehe „Networking in Compose

Das Ihrem Container ermöglichen und Re-Start zu stoppen, während ich noch immer in der Lage zu sehen/kontaktieren.

By default Compose sets up a single network for your app.
Each container for a service joins the default network and is both reachable by other containers on that network, and discoverable by them at a hostname identical to the container name.

Verwandte Themen