如何在macos设置docker可以ping通容器
墨香四溢 /
03-23 /
2点赞 /
0评论 /
204阅读
## macos设置docker可以ping通容器
### 项目连接不上seata
今天在启动项目时候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地址:
>
>
> windows系统看链接里面的教程也可以解决
>
1. 先安装Mac端的服务mac-docker-connector
```csharp
brew tap wenjunxiao/brew
brew install docker-connector
```
1. 首次配置通过以下命令把所有Docker所有bridge子网放入配置文件
>
>
> 增减可以参考链接里的详细配置,一般不需要改,如果环境冲突(比如端口被占用,子网已使用)就需要改
>
> 
>
```csharp
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端的服务
```csharp
sudo brew services start docker-connector
```
1. 安装Docker端的容器mac-docker-connector
```csharp
docker pull wenjunxiao/mac-docker-connector
```
1. 启动Docker端的容器,其中网络必须是host,并且添加NET\_ADMIN特性
```csharp
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name mac-connector wenjunxiao/mac-docker-connector
```
1. 成功
本文来自投稿,不代表本站立场,如若转载,请注明出处:http//www.knowhub.vip/share/2/1421
- 热门的技术博文分享
- 1 . ESP实现Web服务器
- 2 . 从零到一:打造高效的金仓社区 API 集成到 MCP 服务方案
- 3 . 使用C#构建一个同时问多个LLM并总结的小工具
- 4 . .NET 原生驾驭 AI 新基建实战系列Milvus ── 大规模 AI 应用的向量数据库首选
- 5 . 在Avalonia/C#中使用依赖注入过程记录
- 6 . [设计模式/Java] 设计模式之工厂方法模式
- 7 . 5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
- 8 . SQL 中的各种连接 JOIN 的区别总结!
- 9 . JavaScript 中防抖和节流的多种实现方式及应用场景
- 10 . SaltStack 远程命令执行中文乱码问题
- 11 . 推荐10个 DeepSeek 神级提示词,建议搜藏起来使用
- 12 . C#基础:枚举、数组、类型、函数等解析
- 13 . VMware平台的Ubuntu部署完全分布式Hadoop环境
- 14 . C# 多项目打包时如何将项目引用转为包依赖
- 15 . Chrome 135 版本开发者工具(DevTools)更新内容
- 16 . 从零创建npm依赖,只需执行一条命令
- 17 . 关于 Newtonsoft.Json 和 System.Text.Json 混用导致的的序列化不识别的问题
- 18 . 大模型微调实战之训练数据集准备的艺术与科学
- 19 . Windows快速安装MongoDB之Mongo实战
- 20 . 探索 C# 14 新功能:实用特性为编程带来便利