docker容器与mac宿主机同一网段问题
我想让docker容器与我的mac宿主机处于同一网段,所以我使用了以下命令:
$ docker network create -d macvlan --subnet=172.16.0.0/24 --gateway=172.16.0.1 -o parent=en0 mynet
但是提示 -o parent=en0不正确,于是我忽略了这个参数,虽然网络创建成功了,但是创建的容器不能上网。
不知道大家是用什么解决同一网段问题的针对Mac电脑,-o parent= 它的值又是从哪获的呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
谢谢邀请,目前我确实没有使用mac进行docker的一系列操作,因为镜像的问题,所以我无论在mac还是windows上都是统一使用docker-machine 创建的boot2docker的虚拟机进行的docker操作。
我刚才进行了对mac直接宿主的操作,貌似也是报错,提示en0找不到,不支持,我不知道这是否是mac下得限制,不过我在boot2docker 上使用过,是完全没问题的,所以我只能建议你尝试切换到docker-machine进行试验。
如果想解决关于这个问题,官方的docs search,应该能找到相关答案
在终端中通过 ifconfig 命令可以获得本机全部网卡
然后找到将 en0 替换即可
(个人经验分配了 ipv4 的即是,如果仍然有问题可以在 系统偏好设置-网络-找到你在使用的-高级-硬件 获取 MAC 地址,然后看刚才的比对 MAC 即可)
en0
是Mac的interface. 假设你在Mac上用的是docker for Mac,en0
是看不到的。用
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
可以进入这个“虚机”,ip addr
显示缺省的设备应该是eth0
https://github.com/SixQuant/e...
Docker for Mac/Windows
开发环境中有时候想把 Docker 容器实例当做正常的虚拟机来用,换句话说就是本机和Docker容器实例处于同一个子网中,本机可以直接通过IP地址访问Docker容器实例,而不是通过中间端口映射的方式来访问!
最终效果:
你好,解决了吗?