mac是不能直接ping docker 容器的ip的,能通过映射端口。但是有些情况下我们需要直接请求容器的ip
网上找了方法记录一下
他们使用的是github里的这个东西,还有docker,这个需要你提前装好
docker-mac-network

步骤0

安装这个客户端vpn的客户端

brew cask install tunnelblick

步骤1

在mac电脑下找个目录clone下,并且进入到目录中

git clone https://github.com/wojas/docker-mac-network.git

步骤2

修改文件里的ip和子网掩码,改为你容器的

vim helpers/run.sh

在这里插入图片描述
其中172.50.0.0 是容器的ip段
255.255.0.0 是容器的子网掩码
都可以在容器中ifconfig查看
在这里插入图片描述

步骤3

在刚刚克隆下的目录中执行 ,注意因为是后台执行所以你要等看到当前目录生成docker-for-mac.ovpn这个文件为止

docker-compose up -d

步骤4

在docker-for-mac.ovpn文件中添加一行

comp-lzo yes

在这里插入图片描述

步骤5

双击docker-for-mac.ovpn这个文件,然后跟着tunnelblick提示一直点就行了
注意:出现了提示说comp-lzo yes这个之后会被废弃,不用管直接忽略

测试

在宿主机下ping你配置的容器的,只要是172.50.0.0 段的都可以ping通
在这里插入图片描述

重新生成

如果要重新生成的话,把目录下这些文件删除,然后再执行一次 docker-compose up -d
rm -rf conf/*
rm -rf docker-for-mac.ovpn

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐