我使用network_mode = bridge启动容器,当我检查终端中的网络容器时,我获得了容器IP地址。
network_mode = bridge
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id
但是,我无法从容器对象中获得此IP地址,有没有不搜索网络对象中的容器的解决方案?
30byixjq1#
下面是一个例子:
import docker client = docker.DockerClient() container = client.containers.get("magical_meitner") ip_add = container.attrs['NetworkSettings']['IPAddress'] print(ip_add)
qxsslcnc2#
如果IP没有按照建议的here从container.attrs['NetworkSettings']['IPAddress']返回,请尝试以下操作:
container.attrs['NetworkSettings']['IPAddress']
network_name = "my_net" container.attrs["NetworkSettings"]["Networks"][network_name]["IPAddress"]
对我来说,当容器是用docker-compose和外部网络创建的时候,情况就是这样。
whhtz7ly3#
container.attrs.get("NetworkSettings", {}).get("Networks", {}).get(network.name, {}).get("IPAddress")
3条答案
按热度按时间30byixjq1#
下面是一个例子:
qxsslcnc2#
如果IP没有按照建议的here从
container.attrs['NetworkSettings']['IPAddress']
返回,请尝试以下操作:对我来说,当容器是用docker-compose和外部网络创建的时候,情况就是这样。
whhtz7ly3#