docker-connector解决MacOS下宿主机访问docker容器网络
- 安装docker-connector
brew install wenjunxiao/brew/docker-connector
- 然后执行以下命令把 docker 的所有 bridge 网络都添加到路由中。
docker network ls --filter driver=bridge --format "{{.ID}}" | xargs docker network inspect --format "route {{range .IPAM.Config}}{{.Subnet}}{{end}}" >> "$(brew --prefix)/etc/docker-connector.conf"
注意:网上很多文章都把配置文件位置搞错成了/usr/local/etc/,这一步卡了我好久,差点放弃了!!!
4. 配置完成,直接启动服务(需要 sudo,路由配置启动之后仍然可以修改,并且无需重启服务立即生效)
sudo brew services start docker-connector
- 启动容器
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name connector wenjunxiao/mac-docker-connector
查看容器,启动成功了,问题就解决了。
6. 查看容器IP,ping ip试试
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' kafka-ui
172.21.0.2
ping 172.21.0.2
PING 172.21.0.2 (172.21.0.2): 56 data bytes
64 bytes from 172.21.0.2: icmp_seq=0 ttl=63 time=4.179 ms
64 bytes from 172.21.0.2: icmp_seq=1 ttl=63 time=5.042 ms