docker容器与mac宿主机同一网段问题

发布于 2022-09-05 00:12:42 字数 323 浏览 52 评论 0

我想让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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

没有心的人 2022-09-12 00:12:42

谢谢邀请,目前我确实没有使用mac进行docker的一系列操作,因为镜像的问题,所以我无论在mac还是windows上都是统一使用docker-machine 创建的boot2docker的虚拟机进行的docker操作。

我刚才进行了对mac直接宿主的操作,貌似也是报错,提示en0找不到,不支持,我不知道这是否是mac下得限制,不过我在boot2docker 上使用过,是完全没问题的,所以我只能建议你尝试切换到docker-machine进行试验。

如果想解决关于这个问题,官方的docs search,应该能找到相关答案

昵称有卵用 2022-09-12 00:12:42

在终端中通过 ifconfig 命令可以获得本机全部网卡

然后找到将 en0 替换即可

(个人经验分配了 ipv4 的即是,如果仍然有问题可以在 系统偏好设置-网络-找到你在使用的-高级-硬件 获取 MAC 地址,然后看刚才的比对 MAC 即可)

一杆小烟枪 2022-09-12 00:12:42

en0 是Mac的interface. 假设你在Mac上用的是docker for Mac,en0是看不到的。

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 可以进入这个“虚机”,ip addr显示缺省的设备应该是 eth0

浮萍、无处依 2022-09-12 00:12:42

https://github.com/SixQuant/e...

Docker for Mac/Windows
  开发环境中有时候想把 Docker 容器实例当做正常的虚拟机来用,换句话说就是本机和Docker容器实例处于同一个子网中,本机可以直接通过IP地址访问Docker容器实例,而不是通过中间端口映射的方式来访问!

最终效果:

  • MacBook、VirtualBox、Docker容器实例相互之间可以自由的用IP地址互相访问,就像正常的虚拟机一样。
  • 可以给 docker 容器指定静态 IP 地址
  • 容器实例使用统一的DNS服务器
最丧也最甜 2022-09-12 00:12:42

你好,解决了吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文