当前位置: 首页 > article >正文

macos设置docker可以ping通容器

今天在启动项目时候seata报错:
io.seata.common.exception.FrameworkException: can not connect to services-server
意思就是连接不上seata server,然后打开注册中心一看
 

image


ip为:172.17.0.5,果断ping一下

image

原因

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
  1. 首次配置通过以下命令把所有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
  1. 安装Docker端的容器mac-docker-connector
docker pull wenjunxiao/mac-docker-connector
  1. 启动Docker端的容器,其中网络必须是host,并且添加NET_ADMIN特性
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name mac-connector wenjunxiao/mac-docker-connector
  1. 成功

http://www.kler.cn/a/611237.html

相关文章:

  • 使用逆滤波法、维纳滤波法、约束最小二乘法、Lucy - Richardson算法恢复运动降质图像的Matlab代码
  • 群体智能优化算法-蜻蜓优化算法(Dragonfly Algorithm, DA,含Matlab源代码)
  • RedisTemplate和RedissonClient适用的场景有什么不同
  • C++20:玩转 string 的 starts_with 和 ends_with
  • CAJ转PDF:复杂的转换背后有哪些挑战?
  • Python----计算机视觉处理(Opencv:凸包特征检测:凸包方法)
  • Modbus TCP转ProfiNet协议转换网关构建三菱L系列PLC与伺服的冗余通信架构
  • 基于Spring Boot的乡村养老服务管理系统的设计与实现(LW+源码+讲解)
  • 深度学习框架中动态图和静态图是什么意思,如何通过keras和estmator实现?
  • tauri2.0安卓端开发踩坑之旅
  • Spring Batch ItemWriter 常见实现类及对比(含 RepositoryItemWriter)
  • 跟着StatQuest学知识07-张量与PyTorch
  • 数字转换(c++)
  • 导出sql命令
  • 卡尔曼滤波入门(二)
  • 【C++网络编程】第5篇:UDP与广播通信
  • 蓝桥杯 R格式
  • K8S学习之基础四十三:k8s中部署elasticsearch
  • 保姆级教程 在linux上启动Docker并且使用IntelliJ DockerCompose一键部署Springboot应用 常见命令
  • C语言-适配器模式详解与实践