Docker Registry API

Container Registry implements a Docker protocol so that you can push and pullimages directly with Docker clients, including theDocker command-line tool.

Google Cloud services that typically integrate withContainer Registry, such as Cloud Build and Google Kubernetes Engine, areconfigured by withdefault permissions to accessrepositories in the same project and do not require a separate client.

If you want to interact with Container Registry without the Docker client,we recommend using thegcrane tool. The tool provides:

  • Simple commands that work with Container Registry, Artifact Registry, and otherregistries.
  • Useful commands for Container Registry and Artifact Registry tasks that do nothave an equivalent command in the Google Cloud CLI or the Docker command-linetool, such as listing untagged images or copying images across registry hosts.

If gcrane isn't an appropriate option, you can use the Docker Registry HTTP API.

Note: Container Registry does not support Dockerchunked uploads. Some container image toolssupport uploading large container images with either chunked uploads or a singlemonolithic upload. You must use monolithicuploads when you push container images to Container Registry.

Authenticating using the Docker Registry HTTP API

If using Docker or thegcrane tool is not an option, you can use the DockerRegistry HTTP API.

First, grant the requiredpermissions to your user account. You can then usethe Google Cloud CLI to create an access token for requests.

The following example shows the command forlisting tags, usingmy-image as the image andmy-project as the Google Cloud project. Thisexample also uses thejq command to filter and format the output returned byrequests, but it's optional. Thejq tool is included in Cloud Shell.

curl\-H"Authorization: Bearer$(gcloudauthprint-access-token)"\"https://gcr.io/v2/my-project/my-image/tags/list"|jq".tags"

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.