Docker Machine创建时--virtualbox-hostonly-cidr参数作用详解
详解Docker Machine中
--virtualbox-hostonly-cidr参数的作用 嘿,作为网络知识薄弱的开发者,看到这个参数肯定懵懵的对吧?我来给你一步步拆解清楚,保证你能懂!
先搞懂Host-Only网络是什么
当你用Docker Toolbox+VirtualBox创建Docker Machine时,VirtualBox会给虚拟机提供几种网络模式,Host-Only是其中很实用的一种:
- 它是一个仅在你的Windows主机和Docker虚拟机之间互通的私密小局域网
- 这个网络不和外部互联网(比如你的WiFi、公司内网)直接连通,既安全又不会和外部网络IP冲突
- 核心作用就是让你的Windows主机能顺畅访问Docker虚拟机里的容器,同时虚拟机也能反向访问主机上的服务
再解释CIDR格式是什么
你配置里的192.168.56.1/24就是CIDR格式,拆成两部分看就简单了:
192.168.56.1:这是你的Windows主机在这个Host-Only网络里的专属IP地址/24:这是子网掩码的简写,对应的完整子网掩码是255.255.255.0,意思是这个子网里能容纳254个可用IP(范围是192.168.56.2到192.168.56.254),Docker虚拟机就会从这个IP段里自动分配一个地址
这个参数到底起什么作用?
--virtualbox-hostonly-cidr "192.168.56.1/24"这条配置就是明确告诉VirtualBox:
给我要创建的Docker虚拟机分配一个Host-Only网络,把Windows主机在这个网络的IP设为192.168.56.1,同时限定这个子网的可用IP范围是192.168.56.2到192.168.56.254
官方文档里的192.168.99.1/24只是默认的IP段,你完全可以根据需求修改:
- 比如如果你的家里路由器IP段也是
192.168.99.x,就会出现网络冲突,这时候用这个参数改成192.168.56.x就能完美解决 - 或者你想把所有Docker虚拟机都放在一个固定的IP段里,方便统一管理和排查问题
举个实际的例子
假设你用了这个参数创建完Docker Machine后:
- 你的Windows主机在Host-Only网络的IP是
192.168.56.1 - Docker虚拟机的IP可能被VirtualBox自动分配为
192.168.56.100 - 这时候你在Windows浏览器里输入
192.168.56.100:8080,就能直接访问虚拟机里跑在8080端口的容器服务了
内容的提问来源于stack exchange,提问作者Xelian
相关产品推荐
相关产品推荐

