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

 更新时间:2020年11月26日 15:11:59   作者:yongshuai_li  
这篇文章主要介绍了解决Mac下 docker 无法 ping 通宿主机的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

解决方案

抛弃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 通宿主机的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Jenkins Pipeline中Docker镜像构建与推送的常见问题及解决方案

    Jenkins Pipeline中Docker镜像构建与推送的常见问题及解决方案

    在现代 DevOps 实践中,Jenkins 作为一款流行的持续集成和持续交付(CI/CD)工具,被广泛应用于自动化构建、测试和部署流程,然而,在实际使用 Jenkins Pipeline 进行 Docker 镜像构建和推送的过程中,可能会遇到各种问题,本文将通过一个具体的案例给大家详细的介绍一下
    2025-01-01
  • 如何解决安装docker的yum工具时报错问题

    如何解决安装docker的yum工具时报错问题

    在安装Docker时遇到yum工具错误可通过更新yum源解决,先卸载旧Docker,备份原yum源,下载新的CentOS-Base.repo文件到指定目录,安装yum工具后,配置Docker的yum源,国内用户建议使用aliyun源以避免访问异常,安装并启动Docker,校验是否成功
    2024-09-09
  • CentOS 7.2 下安装 Docker 1.12.3 版的详细方法

    CentOS 7.2 下安装 Docker 1.12.3 版的详细方法

    这篇文章主要介绍了CentOS 7.2 安装 Docker 1.12.3 版的相关资料,本文分步骤给大家介绍了CentOS 7.2 下安装 Docker 1.12.3 版的详细方法,需要的朋友可以参考下
    2016-11-11
  • Dockerfile制作官方Tomcat镜像及镜像使用详解

    Dockerfile制作官方Tomcat镜像及镜像使用详解

    本篇文章主要介绍了Dockerfile构建官方Tomcat镜像及镜像使用详解,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • docker搭建memcached的详细步骤

    docker搭建memcached的详细步骤

    Memcached 是一个通用的分布式内存缓存系统,它通常用于通过在 RAM 中缓存数据和对象来加速动态数据库驱动的网站,以减少必须读取外部数据源(例如数据库或 API)的次数,这篇文章主要介绍了docker搭建memcache,需要的朋友可以参考下
    2022-07-07
  • Docker部署springboot项目实例解析

    Docker部署springboot项目实例解析

    这篇文章主要介绍了docker部署springboot项目实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Docker如何安装PostgreSQL

    Docker如何安装PostgreSQL

    这篇文章主要介绍了Docker如何安装PostgreSQL,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Docker容器的使用方法简单示例

    Docker容器的使用方法简单示例

    这篇文章主要介绍了Docker容器的使用方法简单示例,包括拉取镜像、运行镜像、测试容器内的应用、检查主机端口及停止容器的操作方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • Docker Compose的安装和使用步骤

    Docker Compose的安装和使用步骤

    Docker Compose是一个工具,用于定义和运行多容器应用程序的工具,接下来通过本文给大家分享Docker Compose的安装和使用教程一起看看吧
    2021-09-09
  • docker容器源码部署httpd用存储卷部署网站(推荐)

    docker容器源码部署httpd用存储卷部署网站(推荐)

    这篇文章主要介绍了docker容器源码部署httpd用存储卷部署网站,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12

最新评论