4

我正在使用 启动一个容器network_mode = bridge,当我在终端中检查网络容器时,我得到了容器 IP 地址。

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

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

4

2 回答 2

13

这是一个例子:

import docker

client = docker.DockerClient()
container = client.containers.get("magical_meitner")
ip_add = container.attrs['NetworkSettings']['IPAddress']
print(ip_add)
于 2019-10-11T10:03:40.783 回答
0

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

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

对我来说,使用 docker-compose 创建容器时就是这种情况,并带有外部网络。

于 2022-02-08T17:36:18.763 回答