之前用docker搭建了许多服务,有时需要访问宿主机网络服务.
但是docker使用macvlan网络模式,由于安全性问题,禁止了与宿主机之间的通讯
查了一下 可以通过新建虚拟网卡的形式进行桥接互通 一共需要4条命令

添加一个虚拟网卡,其中 macnet1 是虚拟网卡的名字 eth0 是宿主机的网卡名称

10.10.10.10 是需要被访问的docker容器ip

ip link add macnet1 link eth0 type macvlan mode bridge 

10.10.10.100 是添加到虚拟网卡的ip 可以随便选一个你当前网段的IP

ip addr add 10.10.10.100 dev macnet1 
ip link set macnet1 up 

10.10.10.10 是需要被访问的docker容器ip

ip route add 10.10.10.10 dev macnet1

运行上面的命令后docker即可访问宿主机了 可以在宿主机里ping一下容器的ip试试看