Warning: Quay requires docker version 0.6.2 or higher to work

User Guide

Signing into Quay Setup

To setup your Docker client for pushing to Quay, login with your credentials:

$ sudo docker login quay.io

Login against server at https://quay.io/v1/
Username: myusername
Password: mypassword
Email: my@email.com

Pushing a repository to Quay Requires Write Access

In order to push a repository to Quay, it must be tagged with the quay.io domain and the namespace under which it will live:

sudo docker tag 0u123imageid quay.io/username/repo_name

Once tagged, the repository can be pushed to Quay:

sudo docker push quay.io/username/repo_name

Pulling a repository from Quay

Note: Private repositories require you to be logged in or the pull will fail. See above for how to sign into Quay if you have never done so before.
To pull a repository from Quay, run the following command:

sudo docker pull quay.io/username/repo_name

Granting and managing permissions to users Requires Admin Access

Quay allows a repository to be shared any number of users and to grant those users any level of permissions for a repository
  • Permissions for a repository can be granted and managed in the repository's admin interface
  • Adding a user: Type that user's username in the "Add New User..." field, and select the user
  • Changing permissions: A user's permissions (read, read/write or admin) can be changed by clicking the field to the right of the user
  • Removing a user: A user can be removed from the list by clicking the X and then clicking Delete

Using access tokens in place of users Requires Admin Access

There are many circumstances where it makes sense to not use a user's username and password (deployment scripts, etc). To support this case, Quay allows the use of access tokens which can be created on a repository and have read and/or write permissions, without any passwords.
  • Tokens can be managed in the repository's admin interface
  • Adding a token: Enter a user-readable description in the "New token description" field
  • Changing permissions: A token's permissions (read or read/write) can be changed by clicking the field to the right of the token
  • Deleting a token: A token can be deleted by clicking the X and then clicking Delete
  • Using a token: To use the token, the following credentials can be used:
    Username
    $token
    Password
    (token value can be found by clicking on the token)
    Email
    This value is ignored, any value may be used.

Using push web hooks Requires Admin Access

A repository can have one or more push web hooks setup, which will be invoked whenever a successful push occurs. Web hooks can be managed from the repository's admin interface.

A web hook will be invoked as an HTTP POST to the specified URL, with a JSON body describing the push:

{
  "pushed_image_count": 2,
  "name": "ubuntu",
  "repository":"devtable/ubuntu",
  "docker_url": "quay.io/devtable/ubuntu",
  "updated_tags": {
    "latest": "b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc"
  },
  "namespace": "devtable",
  "visibility": "private",
  "homepage": "https://quay.io/repository/devtable/ubuntu"
}