Есть ли докер проверять в доке python apis?
Я хотел бы получить IP-адрес контейнеров, и я пытаюсь понять, как использовать Python Docker API.
Как-то так, я хотел бы сделать это в API Python
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Я попытался это и возвращается ноль для IP-адреса
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']
3 ответа
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'])
Это можно сделать с помощью docker-py
, вы можете проверить следующее
Попробуйте следующее:
print client.inspect_container(container.id)['NetworkSettings']['Networks']['bridge']['IPAddress']
Обратите внимание, что вы можете зациклить на
Networks
(если у вас есть несколько сетей, и вы хотите все IP-адреса) или изменитьbridge
на соответствующее имя сети какbridge
будет именем сети по умолчанию.
Код ниже поможет вам сделать это
import docker
client = docker.APIClient(base_url='unix://var/run/docker.sock')
ip_address = client.inspect_container(<container_id>)['NetworkSettings']['Networks']['IPAddress']