Official Repository

Last pushed: 22 days ago
Short Description
Containerized docker registry
Full Description

Supported tags and respective Dockerfile links

For more information about this image and its history, please see the relevant manifest file (library/registry). This image is updated via pull requests to the docker-library/official-images GitHub repo.

For detailed information about the virtual/transfer sizes and individual layers of each of the above supported tags, please see the registry/ file in the docker-library/docs GitHub repo.

Docker Registry

The tags >= 2 refer to the new registry.

Older tags refer to the deprecated registry.

Run the Registry

Run the registry docker container: Quick version

  • run the registry: docker run -p 5000:5000 -v <HOST_DIR>:/tmp/registry-dev registry
  • Modify your docker startup line/script: add "-H tcp:// -H unix:///var/run/docker.sock --insecure-registry <REGISTRY_HOSTNAME>:5000"

Recommended: run the registry docker container

$ docker run \
         -e SETTINGS_FLAVOR=s3 \
         -e AWS_BUCKET=acme-docker \
         -e STORAGE_PATH=/registry \
         -e AWS_KEY=AKIAHSHB43HS3J92MXZ \
         -e AWS_SECRET=xdDowwlK7TJajV1Y7EoOZrmuPEJlHYcNP2k4j49T \
         -e SEARCH_BACKEND=sqlalchemy \
         -p 5000:5000 \

NOTE: The container will try to allocate the port 5000. If the port is already taken, find out which container is already using it by running docker ps.


If you are interested in commercial support, the Docker Trusted Registry provides an image registry, LDAP/Active Directory integration, security certificates, and more in a solution that includes commercial support.

Supported Docker versions

This image is officially supported on Docker version 1.11.1.

Support for older versions (down to 1.6) is provided on a best-effort basis.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback


Documentation for this image is stored in the registry/ directory of the docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository's file before attempting a pull request.


If you have any problems with or questions about this image, please contact us through a GitHub issue. If the issue is related to a CVE, please check for a cve-tracker issue on the official-images repository first.

You can also reach many of the official image maintainers via the #docker-library IRC channel on Freenode.


You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

Docker Pull Command

Comments (40)
a month ago

The tag latest version is 0.9.1, But the real latest version is 2.3.1. What the fuck! This is cheating.
Only shit!!!!!!!!!

a month ago

s3 storage drive doesn't support region 'ap-northeast-2'.

Please fix this.

3 months ago

I'm also interested in a registry image, that is not run as root. What is the reason to run the registry as root?

3 months ago

There are a few inconsistencies between versions in regards to where data is stored. The documentation here and on Github on 2/1/16 lists the registry directory as /tmp/registry-dev (when using the -v option).

You won't see any data written to that directory in the latest release.

If you look at the Dockerfile there is a volume at /var/lib/registry. If you are running version 2 this is true but the the latest version 2.2.1 writes data to /tmp/registry.

It would be great if this behavior was more consistent between versions & if the documentation was properly updated to reflect any changes.

4 months ago

WTF? Why latest tag refers to 0.9.1?

6 months ago

Is there some reason that the registry is run as root? I guess unless there is some particular reason, why are the best practices for secure docker containers not implemented in this and many other images?

6 months ago

I am a newbie for this. How can I achieve below line?

Modify your docker startup line/script: add "-H tcp:// -H unix:///var/run/docker.sock --insecure-registry <REGISTRY_HOSTNAME>:5000"


6 months ago

What is the hardware recommendation for running 1 instance ?

7 months ago

What is the difference between these two images "docker pull registry:2 and docker pull distribution/registry:2"


8 months ago

Why doesn't it show the actual image ID so I can tell which labels/tags are the same? for example, is latest==2? is 2==2.1.1? (following linux shared library conventions)