Supported tags and respective
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/tag-details.md file in the
docker-library/docs GitHub repo.
The tags >= 2 refer to the new registry.
Older tags refer to the deprecated registry.
Run the Registry
- install docker according to the following instructions
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://127.0.0.1:2375 -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 \ registry
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
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.10.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.
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
README.md file before attempting a pull request.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
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.
I'm also interested in a registry image, that is not run as root. What is the reason to run the registry as root?
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.
WTF? Why latest tag refers to 0.9.1?
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?
I am a newbie for this. How can I achieve below line?
Modify your docker startup line/script: add "-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock --insecure-registry <REGISTRY_HOSTNAME>:5000"
What is the hardware recommendation for running 1 instance ?
What is the difference between these two images "docker pull registry:2 and docker pull distribution/registry:2"
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)
If possible I would update the documentation for "Recommended: run the registry docker container
" to make it clear that this refer to registry version 1