TLDR;我无法从其他网络客户端ping我的Docker容器。只有当容器主动对网关执行ping操作之后,我才可以访问这些容器。
在我的家庭网络(192.168.0.0/24)上,我运行一个网关192.168.0.1,该网关承载DNS服务器并路由Internet流量。我的docker主机(192.168.0.100)有一个macvlan网络,创建时使用
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.100 -o parent=eth0 dockernet
我的容器现在确实获得了静态IP,例如192.168.0.200。容器可以主动ping网络上的其他物理主机,从而可以正常工作。
但是,如果我启动一个新容器,则无法从我的物理网络ping它。不是来自docker主机(这可能是对macvlan网络的限制),也不是来自网关或任何其他客户端。 容器主动ping通网关后,其他客户端也可以访问它。
所以我想需要做一些路由工作,在那儿我需要您的帮助。
客户端在debian buster上运行,我使用不受管的交换机连接客户端。
答案 0 :(得分:0)
上面缺少的信息是我在raspbian上运行docker。 所以这个问题实际上是Docker MACVLAN only works Outbound
的副本在主机上运行sudo rpi-update
以使其正常运行