【问题标题】:Get Mac-Address of Host from within Docker Container从 Docker 容器中获取主机的 Mac 地址
【发布时间】:2021-01-14 06:55:46
【问题描述】:

在我的 dockerized 应用程序中,我需要一个硬件锚并考虑使用容器的 Mac 地址。但是:由于 Docker 容器的 Mac-Address 不稳定且在容器启动时动态分配,因此我无法使用此 Mac-Address(请参阅Docker docs

MAC 地址是使用分配给 容器以避免 ARP 冲突,使用范围从 02:42:ac:11:00:00 到 02:42:ac:11:ff:ff

Docker 主机的 Mac 地址将是一个可行的解决方案。

如何从在此主机上运行的容器中访问 (linux) 主机的 Mac 地址?

【问题讨论】:

  • 我的情况和你一样。除了以下给出的答案之外,您是否找到了解决方案?

标签: linux docker docker-networking


【解决方案1】:

你可以在启动容器时将mac地址作为环境变量传递给容器

docker run -e mac=$(ip link show eth0 | awk '/ether/ {print $2}') alpine env

【讨论】:

  • 好的,但这需要在启动期间进行手动操作。有没有不明确将mac地址交给容器的解决方案?
  • 没有.env 文件的等效 docker-compose 解决方案是什么?
  • 这不适用于 Rancher 和 rancher-compose。那么 Rancher 环境是否也有解决方案?
【解决方案2】:

如果您在网络模式“主机”下运行,您可以从容器中检索 mac,而无需将其传入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2019-06-03
    • 2013-06-14
    • 2022-06-29
    • 2020-01-06
    相关资源
    最近更新 更多