docker-compose 发布dapr 实现发布订阅
1:由于发布订阅用到了dapr的组件,所以我们在docker-compose文件中就需要把组件都添加进去,因为容器时独立运行的,所以配置文件我也一起打包到了代码里面,
整个项目文件格式⬇:

2:docker-compose 注入dapr所用到的组件,zipkin.redis,placement都是需要添加的,


最后通过docker compose -d 命令运行成功,docker desktop 中会显示这样的容器

然后我们把另一个sub项目也这样写,省略贴图
执行以下发布订阅代码:
pub项目:

sub项目:

这个地方当时就报了redis的错,是因为我的redis的地址,是之前默认的localhost,但是在这里,我们要使用到宿主机搭dapr环境时,docker 里面生成的 redis,

我们要把这个redis的网络添加到和项目同一网络下:pub_test33
容器绑定网络命令: docker network connect 网络名 容器名
该容器就拥有了两个网段的ip,什么网段的容器调用同一个网段的ip即可
查看容器网络命令: docker inspect 容器ID

容器解绑网络命令: docker network disconnect 网络名 容器名
容器绑定网络命令: docker network connect 网络名 容器名
最后再查看一下redis分配的ip,将该ip,填入代码内redishelper

执行pub发布方法:

查看redis数据,要去redis容器里面看,
通过命令 docker exec -it 容器ID bash :进入容器

发布订阅并写入redis成功

浙公网安备 33010602011771号