代码之家  ›  专栏  ›  技术社区  ›  Mayur

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

  •  0
  • Mayur  · 技术社区  · 7 年前

    我正在使用 python:3.6-alpine 码头集装箱。
    我有一个网络服务,可以找到提供的IP地址的MAC地址。 要找到给定远程机器的MAC地址,请说 host=10.11.15.100 我在用 在python3脚本下面。

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

    当我在本地运行这个脚本时,它会给出所提供主机的正确MAC地址。 但当我把它放在码头集装箱里的时候 None .
    注意:我可以从Docker容器ping给定主机,但无法获取MAC地址。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Main Void    7 年前

    使用此命令获取容器的MACAddress

    docker container inspect -f {{.NetworkSettings.MacAddress}} container-id
    
        2
  •  0
  •   Mayur    7 年前

    如果您能够从Docker容器ping给定的远程机器,但无法获取MAC地址,这意味着

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

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

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

    推荐文章