主页 > 知识库 > 解决Mac下 docker 无法 ping 通宿主机的问题

解决Mac下 docker 无法 ping 通宿主机的问题

热门标签:检查注册表项 百度竞价点击价格的计算公式 网站建设 硅谷的囚徒呼叫中心 阿里云 智能手机 使用U盘装系统 美图手机

解决方案

抛弃docker for mac自带的linux虚拟机(尽管轻量,但其与OSX通信采用socket文件的方式),使用docker-machine

安装virtualbox。virtualbox创建后,会添加一个虚拟网卡,可以通过ifconfig命令查看。我们实现的方式,就是利用这个虚拟网卡。

使用docker-machine创建默认linux虚拟机,命令docker-machine create

切换docker环境,使用eval $(docker-machine env)命令

查看创建的虚拟机的ip地址:docker-machine ip default或者直接docker-machine ip,假如为192.168.99.100

执行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命令,添加路由信息。

启动一个docker容器,此次测试使用redis:alpine镜像:docker run -d redis:alpine。查看运行的镜像IP。并ping测试。如无意外,宿机目前可以ping同容器了。

补充:

eval "$(docker-machine env -u)"

它将取消DOCKER_*变量。

为了记录,这是输出docker-machine env -u:

unset DOCKER_TLS_VERIFY
unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_MACHINE_NAME

补充知识:Mac Docker Host模式不能用

今天在Mac搭建docker中安装fastdfs, 用host模式启动tracker与storage, 死活不行。

原来是主机网络驱动程序仅适用于Linux主机,并且不支持Docker for Mac,Docker for Windows或Docker EE for Windows Server。

居然还有这个限制。服了,浪费了一天时间。

以上这篇解决Mac下 docker 无法 ping 通宿主机的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

标签:湘潭 烟台 怀化 通辽 贺州 黄山 湖北 山南

巨人网络通讯声明:本文标题《解决Mac下 docker 无法 ping 通宿主机的问题》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266