0

我有一个连接到 nsqd 的服务来生成和使用消息。我有连接到它的集成测试(广播地址 127.0.0.1),这可以在 cli 或 ide 本地执行它。

然后我用 docker-compose 创建了这个服务,但是无法连接到 nsqd。

以下是我的 docker-compose 文件

version: '3'

services:
  redis:
    image: redis:4.0.9-alpine
    ports:
      - "6379:6379"

  nsqlookupd:
    image: nsqio/nsq:v0.3.8
    command: /nsqlookupd
    ports:
      - "4160:4160"
      - "4161:4161"

  nsqd:
    image: nsqio/nsq:v0.3.8
    command: /nsqd --lookupd-tcp-address=nsqlookupd:4160 --broadcast-address=127.0.0.1
    links:
      - nsqlookupd:nsqlookupd
    ports:
      - "4150:4150"
      - "4151:4151"

  nsqadmin:
    image: nsqio/nsq:v0.3.8
    ports:
      - "4171:4171"
    links:
      - nsqlookupd:nsqlookupd
    command: /nsqadmin --lookupd-http-address=nsqlookupd:4161

  creator:
    build: "creator/"
    depends_on:
      - nsqlookupd
      - nsqd
      - redis
    environment:
      SERVER_ADDR: ":8080"
      NSQ_ADDR: "nsqd:4150"
      NSQ_TOPIC: "driver_locations"
      NSQ_CHANNEL: "ch"
      REDIS: "redis:6379"
    ports:
      - "8080:8080"

现在我不在乎本地的测试,只是为了让所有容器都能正常工作。

我尝试更改广播,删除广播...正如他们在文档中所说的那样https://nsq.io/deployment/docker.html#using-docker-compose这是我尝试的最后一件事(基本上更改是命令),没有运气:

version: '3'
services:
  redis:
    image: redis:4.0.9-alpine
    ports:
      - "6379:6379"
  nsqlookupd:
    image: nsqio/nsq
    command: /nsqlookupd
    ports:
      - "4160"
      - "4161"
  nsqd:
    image: nsqio/nsq
    command: /nsqd --lookupd-tcp-address=nsqlookupd:4160
    depends_on:
      - nsqlookupd
    ports:
      - "4150"
      - "4151"
  nsqadmin:
    image: nsqio/nsq
    command: /nsqadmin --lookupd-http-address=nsqlookupd:4161
    depends_on:
      - nsqlookupd  
    ports:
      - "4171"
  creator:
    build: "creator/"
    depends_on:
      - nsqlookupd
      - nsqd
      - redis
    environment:
      SERVER_ADDR: ":8080"
      NSQ_ADDR: "nsqd:4150"
      NSQ_TOPIC: "driver_locations"
      NSQ_CHANNEL: "ch"
      REDIS: "redis:6379"
    ports:
      - "8080:8080"
4

1 回答 1

0

缓存问题,抱歉 :facepalm:

我告诉它不起作用(删除广播)它是

我尝试更改广播,删除广播...正如他们在文档中所说的那样https://nsq.io/deployment/docker.html#using-docker-compose这是我尝试的最后一件事(基本上更改是命令),没有运气:

version: '3'
services:
  redis:
    image: redis:4.0.9-alpine
    ports:
      - "6379:6379"
  nsqlookupd:
    image: nsqio/nsq
    command: /nsqlookupd
    ports:
      - "4160"
      - "4161"
  nsqd:
    image: nsqio/nsq
    command: /nsqd --lookupd-tcp-address=nsqlookupd:4160
    depends_on:
      - nsqlookupd
    ports:
      - "4150"
      - "4151"
  nsqadmin:
    image: nsqio/nsq
    command: /nsqadmin --lookupd-http-address=nsqlookupd:4161
    depends_on:
      - nsqlookupd  
    ports:
      - "4171"
  creator:
    build: "creator/"
    depends_on:
      - nsqlookupd
      - nsqd
      - redis
    environment:
      SERVER_ADDR: ":8080"
      NSQ_ADDR: "nsqd:4150"
      NSQ_TOPIC: "driver_locations"
      NSQ_CHANNEL: "ch"
      REDIS: "redis:6379"
    ports:
      - "8080:8080"
于 2019-09-07T21:41:40.410 回答