如何使用Docker SDK for Python获取Docker容器的IP地址?

ef1yzkbh  于 2023-02-18  发布在  Python
关注(0)|答案(3)|浏览(181)

我使用network_mode = bridge启动容器,当我检查终端中的网络容器时,我获得了容器IP地址。

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id

但是,我无法从容器对象中获得此IP地址,有没有不搜索网络对象中的容器的解决方案?

30byixjq

30byixjq1#

下面是一个例子:

import docker

client = docker.DockerClient()
container = client.containers.get("magical_meitner")
ip_add = container.attrs['NetworkSettings']['IPAddress']
print(ip_add)
qxsslcnc

qxsslcnc2#

如果IP没有按照建议的herecontainer.attrs['NetworkSettings']['IPAddress']返回,请尝试以下操作:

network_name = "my_net"
container.attrs["NetworkSettings"]["Networks"][network_name]["IPAddress"]

对我来说,当容器是用docker-compose和外部网络创建的时候,情况就是这样。

whhtz7ly

whhtz7ly3#

container.attrs.get("NetworkSettings", {}).get("Networks", {}).get(network.name, {}).get("IPAddress")

相关问题