macos设置docker可以ping通容器
今天在启动项目时候seata报错:意思就是连接不上seata server,然后打开注册中心一看ip为:172.17.0.5,果断ping一下。
今天在启动项目时候seata报错:io.seata.common.exception.FrameworkException: can not connect to services-server
意思就是连接不上seata server,然后打开注册中心一看

ip为:172.17.0.5,果断ping一下

原因
ping不通的原因是,我seata server是在docker里面部署的,我项目启动去注册中心拉seata server的ip,拉到172.17.0.5,这个ip是docker容器里面的ip,宿主机和容器是隔离的,所以我在宿主机上是不能直接访问172.17.0.5
解决
github地址:mac-docker-connector/README-ZH.md at master · wenjunxiao/mac-docker-connector · GitHub
windows系统看链接里面的教程也可以解决
- 先安装Mac端的服务mac-docker-connector
brew tap wenjunxiao/brew
brew install docker-connector
- 首次配置通过以下命令把所有Docker所有bridge子网放入配置文件
增减可以参考链接里的详细配置,一般不需要改,如果环境冲突(比如端口被占用,子网已使用)就需要改
https://github.com/wenjunxiao/mac-docker-connector/blob/master/README-ZH.md#配置说明
docker network ls --filter driver=bridge --format "{{.ID}}" | xargs docker network inspect --format "route {{range .IPAM.Config}}{{.Subnet}}{{end}}" >> "$(brew --prefix)/etc/docker-connector.conf"
- 启动Mac端的服务
sudo brew services start docker-connector
- 安装Docker端的容器mac-docker-connector
docker pull wenjunxiao/mac-docker-connector
- 启动Docker端的容器,其中网络必须是host,并且添加NET_ADMIN特性
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name mac-connector wenjunxiao/mac-docker-connector
- 成功
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)