-
宿主机Mac相关信息
en0: inet 192.168.2.117 netmask 0xffffff00 broadcast 192.168.2.255
-
Docker for Mac 相关信息
# ip addr show eth0 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether c0:ff:ee:c0:ff:ee brd ff:ff:ff:ff:ff:ff inet 192.168.65.2/29 brd 192.168.65.7 scope global eth0
-
创建macvlan网络与容器
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=eth0 pub_net docker run --net=pub_net --ip=192.168.2.130 -itd centos /bin/sh
-
进入容器查看网络信息
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.2.130 netmask 255.255.255.0 broadcast 0.0.0.0 inet6 fe80::42:c0ff:fea8:282 prefixlen 64 scopeid 0x20<link> ether 02:42:c0:a8:02:82 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 9 bytes 718 (718.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
问题:在容器内无法上网,另外broadcast 0.0.0.0这个是不是有问题呢?我的目的是给容器分配一个跟宿主机同网段的IP,跪求解答。。。
https://github.com/SixQuant/e...
Docker for Mac/Windows
开发环境中有时候想把 Docker 容器实例当做正常的虚拟机来用,换句话说就是本机和Docker容器实例处于同一个子网中,本机可以直接通过IP地址访问Docker容器实例,而不是通过中间端口映射的方式来访问!
最终效果: