繁体   English   中英

如何从Docker容器获取远程计算机的MAC地址

[英]How to fetch MAC address of remote machine from docker container

我正在使用python:3.6-alpine docker容器。
我有一个网络服务,可以找到提供的IP地址的MAC地址。 要查找给定远程计算机的mac地址,请说host=10.11.15.100我正在使用以下python3脚本。

import getmac 
mac_address = getmac.get_mac_address(ip=host)

当我在本地运行此脚本时,它将提供所提供主机的正确mac地址。 但是当我在docker容器中运行它时,它给出None
注意:-我能够从docker容器ping通给定的主机,但无法获取mac地址。

使用此命令获取容器的MacAddress

docker container inspect -f {{.NetworkSettings.MacAddress}} container-id

如果您能够从Docker容器ping通给定的远程计算机,但无法获取mac地址,则意味着

  1. MAC地址在路由表中不可用
  2. 主机网络接口在Docker容器内不可用。

对于#1情况,您可以ping通该计算机,该计算机可以在路由表中添加该计算机的MAC地址。
对于#2情况,您可以将主机网络接口添加到Docker容器。

例如。 docker run --network="host" -it network_service:latest

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM