Docker for Mac新突破

博主研究Mac版Docker网络配置,指出Mac版用xhyve创建的虚拟机是Docker宿主机,相关网络配置针对此虚拟机。如Driver为bridge的网络实际是NAT网络,官方未在Mac版实现桥接。经多种尝试后,用screen和socket通信方式登录虚拟机,后续可开展更多实验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在研究mac版的docker网络配置,mac版封装好了用xhyve创建的虚拟机,这台虚拟机才是docker的宿主机。

所以好多关于docker宿主机网络的配置其实都是针对这台虚拟机而言的。比如pipework的脚本、docker network create时用的-o parent参数等等。所以docker network ls出的Driver为bridge的网络,实际并不是我们常说的如vmware或者vbox的桥接网络,应该是个NAT网络。官方声明没有在Mac版的docker上实现桥接。

NETWORK ID          NAME                DRIVER              SCOPE

acaf9d37e7f2        bridge              bridge              local

11e2f868967a        devnet              bridge              local

做了很多的尝试。包括直接启动这个虚拟机的镜像、直接解压docker-for-mac.iso然后重新打包、nc连接socket等,最终还是无功而返。

偶然间想到screen和socket通信的方式,尝试了一下。果然能够登录到这台虚拟机了。希望对用到的人有帮助。

KumasMBA:com.docker.driver.amd64-linux kumas$ pwd
/Users/kumas/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux
KumasMBA:com.docker.driver.amd64-linux kumas$ ls -l
total 1680
……
lrwxr-xr-x  1 kumas  staff      12  8 29 15:44 tty -> /dev/ttys000
#就是要连接这个终端

KumasMBA:com.docker.driver.amd64-linux kumas$ screen ./tty
完整路径
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

终于可以连上这个虚拟机了。后续的就可以进一步研究了,比如如何真正的mac通信、openvswitch、ipvlan等等的实验……我自己之前的问题似乎也有了新的研究方向。

这里算是抛砖引用开个头吧,绝对是个人灵感大发想到的,没有搜到相关的资料(也许是我知之甚少,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值