docker 坚果连接被拒绝

问题描述 投票:0回答:1

我正在尝试运行第二个服务器,其中包含使用 docker compose 工具构建的 5 个 docker 服务。并且我为此目的使用另一个端口。主服务器很好,但第二个服务器遇到了 NUTS 服务的错误。 我已经编写了 yaml 配置

version: "1"
    
    services:
      api-gateway:
        build: ./api-gateway
        restart: always
        hostname: gateway
        env_file:
          - ./api-gateway/env/dev.env
        ports:
          - "8801:8801"
        networks:
          - lazar-network-dev-5
    
      common:
        build: ./common-service
        restart: always
        hostname: common
        env_file:
          - ./common-service/env/dev.env
        networks:
          - lazar-network-dev-5
    
      authentication:
        build: ./authentication-service
        restart: always
        hostname: authentication
        env_file:
          - ./authentication-service/env/dev.env
        networks:
          - lazar-network-dev-5
    
      redis:
        image: redis:7.2.1-alpine
        restart: always
        ports:
          - 6382:6382
        command: redis-server --loglevel warning
        volumes:
          - cache:/data
        networks:
          - lazar-network-dev-5
    
      nats:
        image: nats-streaming:0.17.0
        ports:
          - "4223:4223"
        command: ["--port", "4223"]
        networks:
          - lazar-network-dev-5
    
    
    volumes:
      cache:
        driver: local
    
    networks:
      lazar-network-dev-5:
        name: lazar-network-dev-5
        driver: bridge
        attachable: true

使用 compose up 运行后,所有容器都会启动。

NATS 提供以下信息:

api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.399103 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.399183 [INF] STREAM: ServerID: qM6kdWT3QBmVWutzKBt4Lj
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.399187 [INF] STREAM: Go version: go1.13.7
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.399189 [INF] STREAM: Git commit: [f4b7190]
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.401833 [INF] Starting nats-server version 2.1.4
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.401859 [INF] Git commit [fb009af]
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.402773 [INF] Listening for client connections on 0.0.0.0:4223
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.402791 [INF] Server id is NAIUYNZWKVEUHSGSKQ7PJKHMISK6E6UURECTY364J6MDLIKPIBCC4DFA
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.402793 [INF] Server is ready
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.441540 [INF] STREAM: Recovering the state...
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.441572 [INF] STREAM: No recovered state
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692663 [INF] STREAM: Message store is MEMORY
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692764 [INF] STREAM: ---------- Store Limits ----------
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692771 [INF] STREAM: Channels:                  100 *
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692773 [INF] STREAM: --------- Channels Limits --------
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692775 [INF] STREAM:   Subscriptions:          1000 *
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692777 [INF] STREAM:   Messages     :       1000000 *
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692779 [INF] STREAM:   Bytes        :     976.56 MB *
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692781 [INF] STREAM:   Age          :     unlimited *
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692783 [INF] STREAM:   Inactivity   :     unlimited *
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692786 [INF] STREAM: ----------------------------------
api5devtrapezaru-nats-1            | [1] 2024/02/20 07:34:10.692788 [INF] STREAM: Streaming Server is ready

它似乎没问题,但是当我尝试获取服务器查询NATS有关错误的消息时:

[Nest] 29 - 2024 年 2 月 20 日上午 7:39:48 错误 [ExceptionsHandler] CONNECTION_REFUSED

api5devtrapezaru-api-gateway-1     | NatsError: CONNECTION_REFUSED
api5devtrapezaru-api-gateway-1     |     at Function.errorForCode (/app/node_modules/nats/nats-base-client/core.ts:168:12)
api5devtrapezaru-api-gateway-1     |     at NodeTransport.<anonymous> (/app/node_modules/nats/src/node_transport.ts:94:21)
api5devtrapezaru-api-gateway-1     |     at Generator.throw (<anonymous>)
api5devtrapezaru-api-gateway-1     |     at rejected (/app/node_modules/nats/lib/src/node_transport.js:6:65)
api5devtrapezaru-api-gateway-1     |     at processTicksAndRejections (node:internal/process/task_queues:95:5)
node.js docker nest nats.io
1个回答
0
投票

分析错误后,您可以按照以下步骤进行故障排除:

  • 检查 NATS 服务地址和端口:确保您的 API 网关设置了 NATS 服务的正确地址和端口。仔细检查 NATS 服务是否公开端口 4223,如 Docker Compose 文件中指定的那样。

  • 网络:确保您的 API 网关和 NATS 服务位于同一 Docker 网络 (lazar-network-dev-5)。这对于他们使用容器名称进行通信至关重要。

  • 容器命名:确认您的 API 网关可以使用主机名 nats 正确访问 NATS 服务。

  • 服务可用性:在API网关启动之前检查NATS服务是否已完全初始化并准备好接受连接。您提供的 NATS 服务日志似乎表明已准备就绪,但请注意启动过程中是否存在任何问题或延迟。

  • 防火墙或安全组:确保没有防火墙或安全组规则阻止 API 网关和 NATS 服务之间的连接。

© www.soinside.com 2019 - 2024. All rights reserved.