0

我正在尝试使用 docker-compose 运行多个微服务,依赖 DAPR 在它们之间建立通信。但是,即使开发人员 shell 日志显示 DAPR 边车已启动并正在运行,我也无法在 DAPR 仪表板中看到它们,也无法调用使用它们的方法。

我已经按照https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/getting-started和谷歌的说明进行了很多操作,但找不到问题。

我还通过成功运行上述 Microsoft 示例验证了 DAPR 已正确安装并获得预期结果。

这是我的 docker-compose.yml 文件

version: '3.4'

services:
  antivirus:
    image: mkodockx/docker-clamav:alpine

  users-db:
    image: mcr.microsoft.com/mssql/server
    ports:
      - "1401:1433"
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: "Your+password123"

  physical-db:
    image: mcr.microsoft.com/mssql/server
    ports:
      - "1402:1433"
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: "Your+password123"


  smartenergy.users:
    image: ${DOCKER_REGISTRY-}smartenergyusers
    build:
      context: .
      dockerfile: SmartEnergy.Users/Dockerfile
    ports:
      - "6969:80"
      - "44372:443"
    depends_on:
      - users-db

  smartenergy.users-dapr:
    image: "daprio/daprd:latest"
    command: [ "./daprd", "-app-id", "smartenergyusers", "-dapr-http-port", "3500",  "-app-port", "443", "-app-ssl" ]
    depends_on:
      - smartenergy.users
    network_mode: "service:smartenergy.users"


  smartenergy.physical:
    image: ${DOCKER_REGISTRY-}smartenergyphysical
    build:
      context: .
      dockerfile: SmartEnergy.Physical/Dockerfile
    ports:
      - "6970:80"
      - "44373:443"
    depends_on:
      - physical-db


  smartenergy.physical-dapr:
    image: "daprio/daprd:latest"
    command: [ "./daprd", "-app-id", "smartenergyphysical", "-dapr-http-port", "3501", "-app-port", "443", "-app-ssl" ]
    depends_on:
      - smartenergy.physical
    network_mode: "service:smartenergy.physical"

这是 DAPR 日志文件

time="2021-06-14T12:37:02.5979749Z" level=info msg="application discovered on port 443" app_id=smartenergyphysical instance=307796672fab scope=dapr.runtime type=log ver=1.2.0

time="2021-06-14T12:37:09.8308681Z" level=info msg="application configuration loaded" app_id=smartenergyphysical instance=307796672fab scope=dapr.runtime type=log ver=1.2.0

time="2021-06-14T12:37:09.8570903Z" level=warning msg="failed to init actors: actors: couldn't connect to placement service: address is empty" app_id=smartenergyphysical instance=307796672fab scope=dapr.runtime type=log ver=1.2.0

time="2021-06-14T12:37:09.8592054Z" level=info msg="dapr initialized. Status: Running. Init Elapsed 18699.5997ms" app_id=smartenergyphysical instance=307796672fab scope=dapr.runtime type=log ver=1.2.0

我已经验证了这两个微服务以及 MSSQL 容器都在运行。但是尝试使用 DAPR 调用服务失败且没有响应。从 swagger UI 调用 api 方法按预期工作,但 DAPR 甚至似乎没有运行。

招摇用户界面

调用尝试

有谁知道问题是什么?

4

0 回答 0