MAC DOCKER无法ping通容器解决方案

2023-11-17

原因

先来看下LINUX的docker架构
这里写图片描述
docker是在linux内核容器基础上实现的,linux安装docker后,会创建一个为docker0的虚拟网卡,linux宿机与docker容器之间的通信,通过docker0虚拟网卡进行

再来看下OSX的docker
这里写图片描述
docker在OSX的实现方式,是首先创建一个linux的虚拟机,在将docker放入到虚拟机中实现,而对于linux虚拟机,与OSX之间的通信,目前版本采用/var/run/docker.sock这种socket文件来通信,在OSX宿机中自然ping不通docker容器。

解决方案

首先,如果想要解决这种问题,就要打通OSX与LINUX VM的通信通道。步骤如下:

  1. 抛弃docker for mac自带的linux虚拟机(尽管轻量,但其与OSX通信采用socket文件的方式),使用docker-machine
  2. 安装virtualbox。virtualbox创建后,会添加一个虚拟网卡,可以通过ifconfig命令查看。我们实现的方式,就是利用这个虚拟网卡。
  3. 使用docker-machine创建默认linux虚拟机,命令docker-machine create
  4. 切换docker环境,使用eval $(docker-machine env)命令
  5. 查看创建的虚拟机的ip地址:docker-machine ip default或者直接docker-machine ip,假如为192.168.99.100
  6. 执行route命令,把192.168.99.100作为网关,将docker容器的ip段,路由到此IP上。假如docker容器的网段为172.17.0.0/16,那么使用sudo route -n add -net 172.17.0.0/16 192.168.99.100命令,添加路由信息。
  7. 启动一个docker容器,此次测试使用redis:alpine镜像:docker run -d redis:alpine。查看运行的镜像IP。并ping测试。如无意外,宿机目前可以ping同容器了。

OVER

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MAC DOCKER无法ping通容器解决方案 的相关文章

随机推荐

  • 带你入门使用SSM+Thymeleaf先感受下基本运行和什么是SpringMVC吧

    通俗点讲SSM框架指的是Spring Boot Spring MVC Mybatis Thymeleaf是一个页面模板 这篇文章旨在 教会创建一个SSM项目 和配合Thymeleaf进行项目开发 此文章图多 所以长度很长 但干货满满 如果想
  • 前置路由守卫

    路由守卫 他是一个方法 拦截路由 路由守卫写在路由暴露之前 在这个方法中会传递一个回调函数 回调函数中传递3个参数 router beforeEach gt 也叫做前置路由守卫 里面有3个参数 to 到哪里去 from 从哪里来 next
  • JAVA基础之增删改查

    开发工具 eclipse 数据库 Oracle 项目分析 数据库的搭建 项目结构 一 主界面 采用无刷新的方法 该方法需要用到jQuery插件 界面展示 分页 删除 模糊查询 教员 班级 爱好 代码展示
  • 递推典型算法:猴子爬山,跳台阶,爬楼梯(牛客网)、魔法深渊(快手)----Python、Java

    递推算法的基本思想是把一个复杂的 庞大的计算过程转化为简单过程的多次重复 其首要问题是得到相邻的数据项之间的关系 即递推关系 以猴子爬山为例 1 问题的提出 一个顽猴在一座有30级太假的小山上爬山活跃 猴子上一步可跳1级或者3级 试求上山的
  • win10黑屏假死怎么解决

    现在很多用户都是使用的win10电脑 但是电脑使用久了之后出现一些问题时在所难免的 例如最近就有网友反映说自己的win10纯净版电脑出现了开机后黑屏假死的情况 该如何处理呢 赶紧看看吧 解决教程如下 1 win10系统开机的时候一直按F8直
  • 【Python】python使用docxtpl生成word模板

    python使用docxtpl生成word模板 python docxtpl包简单使用和实战 Python处理word docx文件 最近需要处理一些爬虫得到的数据来进行一些自动化报告的操作 因为需要生成的是word的报告 所以估选用doc
  • Mastering_Rust(译):内存,生命周期和借用(完+1)

    Rust让你 开发人员自己处理内存 但是 它可以帮助您完成内存分配的抽象和语言支持 它的生命周期 所有权和借用系统可能是您熟悉的C 世界的概念 Rust拥有所有这些 不仅仅是概念 而是语言以及编译时检查 使这一类最困难的运行时问题变得更容易
  • 神经网络调优 --- batch_size

    batchsize和收敛速度 性能的关系 一般来说 在合理的范围之内 越大的 batch size 使下降方向越准确 震荡越小 小的 bath size 引入的随机性更大 单次epoch耗时更久 且震荡大难以收敛 但大的batchsize容
  • SQL注入漏洞简介、原理及防护

    目录 1 SQL注入漏洞简介 2 SQL注入漏洞原理 3 SQL注入的分类 4 注入方法 5 SQL注入危害 6 SQL注入防护措施 1 SQL注入漏洞简介 SQL注入漏洞是Web层面最高位的漏洞之一 所谓SQL注入 就是通过把SQL命令插
  • Ubunto18.04安装完成后没有gcc、make、g++、无法访问域名等解决方法

    Ubunto18 04安装完成后没有gcc make g 无法访问域名等解决方法 今天新安装完虚拟机后又安装了Ubunto 然后就碰到了个恶心的事情 就是这是个纯净版 里面好多东西都没有 没有gcc make等等 按照其他博主的方法都不好使
  • 本地电脑与阿里云服务器之间实现文件传输

    文章目录 1 文件传输 1 1 服务器使用本地文件 1 2 使用FileZilla软件 1 2 1 服务端配置 1 2 2 客户端配置 1 2 3 问题及解决 1 2 3 1 bug 1 2 3 2 原因 1 2 3 3 解决 1 2 3
  • 解决“ warning C276: constant in condition expression“和“warning C294: unreachable code“两个告警提示

    好久不见 最近因为一些项目比较忙 都没怎么发文章了 今天有空就来分享一下自己之前遇到的两个告警 告警信息 首先 我们先来看一下这两个告警 第一个告警为 warning C276 constant in condition expressio
  • Go Web编程实战(3)----数据类型

    目录 前言 布尔型 数字类型 字符串类型 使用 byte修改 使用 rune修改 指针类型 指针的简单用法 修改指针值 复合类型 数组类型 结构体介绍 切片类型 从指定范围生成切片 重置切片 直接声明切片 Map 前言 Go语言数据类型包括
  • 设置idea控制台打印的日志输出到本地文件

    在idea的控制台很难看到日志 很快速的就刷过去了 而且日志多的话 很多就看不到了 所以我设置了一下idea把日志输出到文件 方便查看 1 在idea的菜单栏 找到这个向下的三角 点击 选择Edit Configurations 2 在打开
  • 官宣!玖章算术获评“浙江省创新型中小企业”

    近日 浙江省工业和信息化厅开展了 2023 第二季度创新型中小企业评价工作 经企业自评 地市审核 抽查 市经信局审核评价等程序 玖章算术以优秀的自主创新能力通过认定 成为浙江省 2023 年度创新型中小企业 创新型中小企业 是指具有较健全的
  • FISCO BCOS(五)———部署安装jdk1.8

    1 将下载的jdk1 8 0 162 linux x64 tar gz通过远程连接工具 放入 usr local 目录 然后解压 2 解压 tar zxvf jdk1 8 0 162 linux x64 tar gz 3 切换到jdk1 8
  • 闲聊——集成学习理论(Adaboost,随机森林理论与个人实战中的体会)

    本文通过简单的例子来引出算法本质 同时附上证明过程 目的是让感觉直接看证明推导很难的小伙伴们也能理解集成算法是怎样实现的 集成学习通过构建并结合多个学习器来完成学习任务 可获得比单一学习器更好的泛化性能 目前的集成学习方法大致可分为两类 第
  • 程序员常用十大算法之KMP算法

    程序员常用十大算法之KMP算法 一 应用场景 二 暴力匹配算法 2 1思路分析 2 2代码实现 三 算法介绍 四 KMP算法最佳应用 4 1字符串匹配问题 4 2思路分析图解 代码实现 本文是程序员常用十大算法的第一节 后面的算法总结都在博
  • JSON 驼峰转下划线

    import com fasterxml jackson databind PropertyNamingStrategy PropertyNamingStrategyBase public class MyCamemlToUnderline
  • MAC DOCKER无法ping通容器解决方案

    原因 解决方案 原因 先来看下LINUX的docker架构 docker是在linux内核容器基础上实现的 linux安装docker后 会创建一个为docker0的虚拟网卡 linux宿机与docker容器之间的通信 通过docker0虚