Mac宿主主机无法ping通docker容器ip

起源

在安装azkaban时候发现无法在宿主主机上调用https://ip:8443这个uri,确认docker中的服务启动,继续尝试ping容器发现无法ping通。慢慢就发现了新大陆。下边就开启追溯原因和探索解决方案:

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

解决方案

思路:通过设置代理进行解决,具体思路如下,说有个东西可以解决这个问题,利用这个docker-mac-network进行解决。

实施方案

  • 安装这个东西的客户端 (https://tunnelblick.net/downloads.html),
    安装后长这个样子Mac宿主主机无法ping通docker容器ip_第1张图片
  • 克隆上边说的那个项目(docker-mac-network.)
git clone `https://github.com/wojas/docker-mac-network.git
  • 更改helps目录下的run.sh文件,清空后复制下边内容,不会清空我教你
  `echo "" >run.sh

复制下边内容,注意修改你的容器主机ip和子网掩码

链接:https://pan.baidu.com/s/1ddM8WTDjOPrYlMRhiGkEBA  密码:1ivl
  • 执行下边命令启动docker-compose,首次执行需要等好一会奥
docker-compose up
  • 执行完毕之后会发现在根目录下多了个文件:.o-*v&-p±n 为扩展名的
    在这里插入图片描述
  • vim 这个文件,在倒数第二行加入
comp-lzo yes

保存之后将该文件拖入客户端里即可,然后点击右下角的连接按钮。
Mac宿主主机无法ping通docker容器ip_第2张图片

测试

  • 宿主主机ping docker容器可以发现成功,至此大功告成Mac宿主主机无法ping通docker容器ip_第3张图片

`

你可能感兴趣的:(docker,大数据,hadoop)