docker python api中有docker检查吗?

use*_*126 7 python docker dockerpy

我想获取容器的 IP 地址,并尝试弄清楚如何使用 python docker API。

我想在 python API 中做类似的事情

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但 ip 地址返回 null

import docker
dockerClient = docker.from_env()

client = docker.APIClient(base_url='unix://var/run/docker.sock')
for container in dockerClient.containers.list():
    print container.id
    print "-------------"
    print client.inspect_container(container.id)['NetworkSettings']['IPAddress']
Run Code Online (Sandbox Code Playgroud)

小智 7

import docker 
client = docker.APIClient(base_url='unix://var/run/docker.sock') 
my_c = client.inspect_container('id_container')
print(my_c['NetworkSettings']['Networks']['bridge']['IPAddress'])
Run Code Online (Sandbox Code Playgroud)


Mos*_*ein 3

这可以使用 来完成docker-py,您可以检查以下内容

请尝试以下操作:

print client.inspect_container(container.id)['NetworkSettings']['Networks']['bridge']['IPAddress']
Run Code Online (Sandbox Code Playgroud)

请注意,您可能想要循环Networks(如果您有多个网络并且需要所有 IP)或更改bridge为适当的网络名称,因为这bridge将是默认网络名称。