Есть ли способ получить дату создания образа докера с помощью docker API для python
Я хотел бы получить
created at
дата для образа докера с использованием docker API. Это возможно? Я не вижу этого в документации https://docker-py.readthedocs.io/en/stable/images.html. Я вижу способ получить его, используя
requests
но надеялся использовать
docker
API, поскольку мой код использует API докеров для получения другой информации, такой как идентификатор реестра.
import docker
cli=docker.from_env()
cl_image = cli.images.get_registry_data(reg_url, auth_config=None)
image_hash = cl_image.id
2 ответа
Временная метка создания изображения находится на объекте Image в разделеattrs
свойство:
from dateutil.parser import isoparse
import docker
client = docker.from_env()
images = client.images.list()
img = images[0]
created_str = img.attrs["Created"]
created_datetime = isoparse(created_str)
print(created_datetime)
Нет, получение даты создания не поддерживается
Docker
SDK для Python. В
create
Атрибут просто не существует, поэтому вы не сможете получить это значение. Так что вам придется использовать
request
модуль для получения данных из
Docker API
.
Примечание: ваша библиотека импорта не должна называться
API
это просто библиотека, поддерживающая Docker Engine
API
. Реальность
API
находится здесь, который вы будете использовать его, чтобы сделать
GET
запрос.
Редактировать:
Я не уверен, правильно ли вы выполняете аутентификацию. Вам необходимо предоставить учетные данные со значениями и закодировать в base64url (JSON) и передать их как
X_Registry-Auth
заголовок в вызове запроса, см. это. Этот пример прекрасно иллюстрирует то, что вам нужно сделать, хотя и показан в контексте
cURL POST
запрос.