macos设置docker可以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系统看链接里面的教程也可以解决

  1. 先安装Mac端的服务mac-docker-connector

    brew tap wenjunxiao/brew
    brew install docker-connector

  2. 首次配置通过以下命令把所有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"
  1. 启动Mac端的服务

    sudo brew services start docker-connector

  2. 安装Docker端的容器mac-docker-connector

    docker pull wenjunxiao/mac-docker-connector

  3. 启动Docker端的容器,其中网络必须是host,并且添加NET_ADMIN特性

    docker run -it -d --restart always --net host --cap-add NET_ADMIN --name mac-connector wenjunxiao/mac-docker-connector

  4. 成功

相关推荐
秋雨梧桐叶落莳30 分钟前
计算器仿写总结
学习·macos·ios·objective-c·cocoa
数据知道2 小时前
容器安全入门:Docker 逃逸原理与 5 个经典 CVE
安全·网络安全·docker·容器
张忠琳4 小时前
【NPU】Ascend Docker Runtime v26.0.1 之三 runtime/dcmi/ — 超深度逐行分析
云原生·容器·kubernetes·npu·docker-runtime
giaming0235 小时前
告别Docker Desktop!一款轻量级原生开发环境管理工具:FlyEnv
运维·docker·容器
自强的小白5 小时前
Docker命令
java·docker·容器
暗影凋落7 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
极客先躯8 小时前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统
寒水馨9 小时前
macOS下载、安装uv-0.12.0(附安装包uv-aarch64-apple-darwin.tar.gz)
python·macos·rust·项目管理·包管理器·astral·pip替代
江湖有缘9 小时前
Docker实战 : 使用Docker部署Musicn音乐下载工具
docker·容器·eureka
沉迷学习 日益消瘦10 小时前
17-Custom Resource 入门
docker·容器·kubernetes