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 inspect 容器ID
容器解绑网络命令: docker network disconnect 网络名 容器名
容器绑定网络命令: docker network connect 网络名 容器名
最后再查看一下redis分配的ip,将该ip,填入代码内redishelper
执行pub发布方法:
查看redis数据,要去redis容器里面看,
通过命令 docker exec -it 容器ID bash :进入容器
发布订阅并写入redis成功
标签:容器,compose,redis,网络,dapr,docker From: https://www.cnblogs.com/caicaijie/p/17700015.html