对dapr和码头来说非常新。
我跟着dapr开始了。简单的hello状态管理示例运行良好。是的布鲁斯我们都知道你是蝙蝠侠。
所以接下来我构建了.NET堆芯多容器天气预报实例。效果很好。(我把我的前端剃须刀页命名为"wxui“和后端webapi "wxapi")。
最后,我想尝试一下,在天气预报员的例子中加入国家管理。我修改了前端Razor页面应用程序,以存储和检索一些状态,并在我的停靠-撰写文件中添加了一个redis容器。
事情不太顺利。
wxui-dapr容器随此消息退出:
time="2021-05-20T22:47:50.3179068Z“level=fatal msg=”进程组件状态错误: redis存储:在本地主机上连接redis错误:6379:拨号tcp 127.0.0.1:6379:连接:拒绝连接“app_id=wxui instance=69254f9724b0 scope=dapr.runtime type=log ver=1.1.2
我将猜测dapr侧加容器没有将本地端口6379映射到redis容器。但我不知道如何测试或修复。
这是我的docker-compose.yml文件,如果有用的话:
version: '3.4'
services:
redis:
image: "redis:alpine"
ports:
- "6379:6379"
networks:
- wx-hello-world
wxui:
image: ${DOCKER_REGISTRY-}wxui
build:
context: .
dockerfile: WxUI/Dockerfile
ports:
- "51000:50001"
networks:
- wx-hello-world
depends_on:
- redis
wxui-dapr:
image: "daprio/daprd:latest"
command: [ "./daprd", "-app-id", "wxui", "-app-port", "80", "-components-path", "/components" ]
volumes:
- "./components/:/components"
depends_on:
- wxui
network_mode: "service:wxui"
wxapi:
image: ${DOCKER_REGISTRY-}wxapi
build:
context: .
dockerfile: WxAPI/Dockerfile
ports:
- "52000:50002"
networks:
- wx-hello-world
wxapi-dapr:
image: "daprio/daprd:latest"
command: [ "./daprd", "-app-id", "wxapi", "-app-port", "80" ]
depends_on:
- wxui
- wxapi
network_mode: "service:wxapi"
networks:
wx-hello-world:我可以根据需要提供其他日志或数据(请求)。
有人能帮我找出导致wxui-dapr容器退出的原因,以及如何修复它吗?谢谢!
发布于 2021-05-21 19:29:03
因此,在我有限的环境中,利用我对对接者关系网的有限理解,我能够让它发挥作用。请随时提供更好的解决方案!
最后,我更改了docker-compose.yml文件,以便为redis容器提供一个主机名:
version: '3.4'
services:
redis:
image: "redis:alpine"
hostname: wxstate
ports:
- "6379:6379"
networks:
- wx-hello-world然后将dapr statestore.yaml组件更改为使用该主机名:
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: statestore
spec:
type: state.redis
metadata:
- name: redisHost
value: wxstate:6379
- name: redisPassword
value: ""
- name: actorStateStore
value: "true"https://stackoverflow.com/questions/67629176
复制相似问题