Как получить имя контейнера из идентификатора контейнера с помощью модуля докера Python

Я хочу получить имя контейнера, передав идентификатор контейнера. Я попытался получить это ниже, но, к сожалению, у меня это не сработало.

 import docker
 def get_container_details(self,container=123456789992):
     self.client = docker.from_env()
     print(self.client.containers.get(container))

Могу ли я узнать, чего не хватает и как получить имя контейнера из идентификатора контейнера

2 ответа

Вы были всего в шаге от вас. Посмотрите на фрагмент ниже,

>>> import docker
>>> client = docker.from_env()
>>> client.containers.list()
[<Container: 1c9276a9ca>]
>>> client.containers.get('1c9276a9ca').name
u'unruffled_mahavira'

Метод списка контейнеров дает только идентификатор контейнера. Чтобы получить соответствующее имя, вы должны использовать атрибут имени, как показано ниже -

      client = docker.from_env()

def get_all_container_list():
    containers = client.containers.list()
    for i in containers:
        print(i.name, i)

Дополнительная информация в официальной документации

Другие вопросы по тегам