如何使用容器的dockerpy获取主机地址?

时间:2019-02-11 20:36:13

标签: python docker dockerpy

我正在尝试从哪里获取使用 docker-py 启动的正在运行的Docker容器的主机名。

基于DOCKER_HOST =文件的存在,启动的Docker容器可以位于删除机器上,而不位于localhost(运行docker-py代码的机器)上。

我查看了容器对象内部,但由于'HostIp': '0.0.0.0'是远程Docker主机,所以找不到任何有用的信息。

我需要远程计算机的IP或DNS名称。

我知道我可以自己解析DOCKER_HOST并“猜测”,但这并不是真正可靠的方法,尤其是涉及到多个协议:ssh://和tcp:/ /至少。

我想这应该是基于API的获取此信息的方法。

PS。我们假设Docker主机没有防火墙。

2 个答案:

答案 0 :(得分:0)

此刻,我最终在https://github.com/docker/docker-py/issues/2254上创建了一个错误,因为我无法在库中找到该信息。

答案 1 :(得分:-1)

最好的方法可能是使用wtfismyip.com之类的网站。 您可以使用

curl wtfismyip.com

在终端上打印它,然后可以从输出中提取公共ip。