Docker Community Forums

Share and learn in the Docker community.

How to get docker image upload date and time from a Docker Registry after we do docker load -i filename.tar

I want to get docker images upload time, which have been uploaded to docker registry with docker load command (docker load -i image.tar)
Based on this upload date and time i want to remove the docker images and keep latest 3 docker images.

The original requirement is to maintain the latest 3 docker images based on there loaded date(timestamp) to the docker registry, not based on createdTime and delete the rest of the docker images except latest 3.

Note: CreatedTime is not suitable for me in this scenario to maintain only latest 3 docker images and delete rest.

Any help regarding this is appreciated and would be helpful.

Thanks,
Rakesh chahar

A Swagger 2.0 (a.k.a. OpenAPI) definition of the Engine API.

This is used for generating API documentation and the types used by the

client/server. See api/README.md for more information.

Some style notes:

- This file is used by ReDoc, which allows GitHub Flavored Markdown in

descriptions.

- There is no maximum line length, for ease of editing and pretty diffs.

- operationIds are in the format “NounVerb”, with a singular noun.

swagger: “2.0”
schemes:

  • “http”
  • “https”
    produces:
  • “application/json”
  • “text/plain”
    consumes:
  • “application/json”
  • “text/plain”
    basePath: “/v1.41”
    info:
    title: “Docker Engine API”
    version: “1.41”
    x-logo:
    url: “https://docs.docker.com/images/logo-docker-main.png
    description: |
    The Engine API is an HTTP API served by Docker Engine. It is the API the
    Docker client uses to communicate with the Engine, so everything the Docker
    client can do can be done with the API.
    Most of the client’s commands map directly to API endpoints (e.g. docker ps
    is GET /containers/json). The notable exception is running containers,
    which consists of several API calls.

    Errors

    The API uses standard HTTP status codes to indicate the success or failure
    of the API call. The body of the response will be JSON in the following
    format:
    {
      "message": "page not found"
    }
    

    Versioning

    The API is usually changed in each release, so API calls are versioned to
    ensure that clients don’t break. To lock to a specific version of the API,
    you prefix the URL with its version, for example, call /v1.30/info to use
    the v1.30 version of the /info endpoint. If the API version specified in
    the URL is not supported by the daemon, a HTTP 400 Bad Request error message
    is returned.
    If you omit the version-prefix, the current version of the API (v1.41) is used.
    For example, calling /info is the same as calling /v1.41/info. Using the
    API without a version-prefix is deprecated and will be removed in a future release.
    Engine releases in the near future should support this version of the API,
    so your client will continue to work even if it is talking to a newer Engine.
    The API uses an open schema model, which means server may add extra properties
    to responses. Likewise, the server will ignore any extra query parameters and
    request body properties. When you write clients, you need to ignore additional
    properties in responses to ensure they do not break when talking to newer
    daemons.

    Authentication

    Authentication for registries is handled client side. The client has to send
    authentication details to various endpoints that need to communicate with
    registries, such as POST /images/(name)/push. These are sent as
    X-Registry-Auth header as a base64url encoded
    (JSON) string with the following structure:
    {
      "username": "string",
      "password": "string",
      "email": "string",
      "serveraddress": "string"
    }
    
    The serveraddress is a domain/IP without a protocol. Throughout this
    structure, double quotes are required.
    If you have already got an identity token from the /auth endpoint,
    you can just pass this instead of credentials:
    {
      "identitytoken": "9cbaf023786cd7..."
    }