我正在尝试使用 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 甚至似乎没有运行。
有谁知道问题是什么?