我有一个使用以下命令创建的 macvlan 网络:
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.2 -o parent=wlp2s0 pub_ne
其中 wlp2s0 是我的笔记本电脑的无线接口的名称。网关是 192.168.1.1 和子网 192.168.1.0/24
然后我创建了一个容器并将其附加到该网络:
docker run --rm -itd --network pub_ne --name myAlpine alpine:latest sh
此外,我使用 virtualbox 提供程序创建了一个具有桥接网络接口的虚拟机。
如果我使用 ping 命令:-docker 容器-> vm ubuntu(vm 的 ip:192.168.1.200):ping 有效
但如果我使用 ping 命令:- docker container -> gateway 192.168.1.1 或 - docker container -> external world (google.com): ping not works
建议?
编辑1:
如果我在 docker 主机上运行 tcpdump ( tcpdump -i icmp ),我会看到:
14:53:30.015822 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 29, length 64 14:53:31.016143 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 30, length 64 14:53:32.016426 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 31, length 64 14:53:33.016722 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 32, length 64
其中 192.168.1.56 是我的 docker 容器,而 216.58.205.142 应该是谷歌 IP 地址。没有收到回显回复。