docker中的RabbitMQ不会正常结束,无法重新连接
我正在尝试在2个docker容器中使用RabbitMQ进行RPC。 我已经把它们设置如下:
chindow: image: bablot/chindow ports: - "9999:9999" links: - rabbitmq:amq rabbitmq: image: rabbitmq:3 ports: - "15672:15672"
一切工作如预期最初,但后来,当我closures系统与ctrl+c
它会导致以下错误:
babelotserver_rabbitmq_1 exited with code 143
然后当我继续重新启动系统时:
chindow_1 | { [Error: connect ECONNREFUSED 172.17.0.3:5672] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect', address: '172.17.0.3', port: 5672 }
编辑:
当我docker stop
rabbitmq我得到code 143
当我docker stop
node.js我得到code 0
为什么这两个不同? 这有意义吗?
确保您使用的是docker-compose格式版本2 。
它将创build一个桥接networking:请参阅“ 撰写networking ”
这将允许您的容器停止并重新启动,同时仍然能够看到/彼此联系。
默认情况下,Compose会为您的应用程序设置一个networking。
服务的每个容器都join默认networking,并且该networking上的其他容器都可以访问它们,并且可以通过与容器名称相同的主机名来发现它们。