将Docker应用程序链接导入pm2

时间:2016-12-08 19:16:29

标签: docker rabbitmq pm2

twitterservicerabbitmq连接时出现问题。当我在本地运行一切时,它完美地运行。一旦我使用docker-compose,twitterservice似乎无法连接到兔子。最终产生错误:

  

在打开握手期间,套接字突然关闭。

Mongo Part工作顺便说一句。

我有docker-compose.yml个文件:

    version: '2'
services:
  twitterservice:
    build: ./workerTwitter
    links:
      - mongodb:mongolink
      - rabbitmq:rabbitlink
    ports:
      - "8080:8080"
    depends_on:
      - mongodb
      - rabbitmq
  mongodb:
    image: mongo:latest
    ports:
      - "27017:27017"
    volumes:
      - mongo-data:/var/lib/mongo
    command: mongod
  rabbitmq:
    image: rabbitmq:management
    ports:
      - '15672:15672'
volumes:
  mongo-data:
    driver: local

完美推出。

我的pm2 processes.json

    {
    "apps": [
        {
            "name": "twitter-service",
            "script": "./src",
            "merge_logs": true,
            "max_restarts": 40,
            "restart_delay": 10000,
            "instances": 1,
            "max_memory_restart": "200M",
            "env": {
                "PORT": 8080,
                "NODE_ENV": "production",
                "MONGO_DB": "mongodb://mongolink:27017/",
                "RABBIT_MQ": "amqp://rabbitlink:15672/",
            }
        }
    ]
}

当我的应用程序启动时,它没有连接到Rabbit,因为它似乎缺少正确的链接(IP)。我可以访问Rabbit管理控制台,可以看到现在有问题如何从processes.json中访问生成的应用程序?

1 个答案:

答案 0 :(得分:0)

问题是应用程序在正确启动之前尝试连接到兔子,并且还在错误的端口上。 5672号港口是正确的。