mac docker 宿主机和容器间 ping不通的问题

使用 docker-connector

首先 Mac 端通过 brew 安装 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}}" >> /usr/local/etc/docker-connector.conf
也可以手动修改 /usr/local/etc/docker-connector.conf 文件中的路由,格式是

route 172.17.0.0/16

路由的子网决定了你能访问那些容器

配置完成,直接启动服务(需要 sudo,路由配置启动之后仍然可以修改,并且无需重启服务立即生效)

sudo brew services start docker-connector

然后使用以下命令在 docker 端运行 wenjunxiao/mac-docker-connector,需要使用 host 网络,并且允许 NET_ADMIN

docker run -it -d --restart always --net host --cap-add NET_ADMIN --name connector wenjunxiao/mac-docker-connector

如果需要将对应的网络共享给其他人访问,需要修改配置文件 /usr/local/etc/docker-connector.conf
在 route 后增加 expose

route 172.17.0.0/16 expose

并增加监听端口、token 和 ip 分配

expose 0.0.0.0:2512
token user1 192.168.251.10
token user2 192.168.251.11

其他机器要安装 docker-accessor,不同系统的安装、使用方法不同

Mac

brew install wenjunxiao/brew/docker-accessor
sudo docker-accessor -remote 192.168.1.100:2512 -token user1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值