2015-04-29 21:20:09 +02:00
<!-- GITHUB
2015-04-16 02:23:40 +02:00
page_title: Docker Registry 2.0
page_description: Introduces the Docker Registry
page_keywords: registry, images, repository
2015-04-29 21:20:09 +02:00
IGNORES-->
2015-03-03 08:33:02 +01:00
2015-05-13 09:32:14 +02:00
# Docker Registry
2015-03-03 08:33:02 +01:00
2015-05-22 11:17:23 +02:00
## What it is
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images.
The Registry is open-source, under the permissive [Apache license ](http://en.wikipedia.org/wiki/Apache_License ).
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
## Why use it
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
You should use the Registry if you want to:
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
* tightly control where your images are being stored
* fully own your images distribution pipeline
* integrate images storage and distribution into your inhouse, on premises development workflow
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
## Alternatives
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
Users looking for a zero maintenance, ready-to-go solution are encouraged to head-over to the [Docker Hub ](https://hub.docker.com ), which provides a free-to-use, hosted Registry, plus additional features (organization accounts, automated builds, and more).
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
Users looking for a commercially supported version of the Registry should look into [Docker Hub Enterprise ](https://docs.docker.com/docker-hub-enterprise/ ).
2015-04-02 17:11:19 +02:00
2015-05-22 11:17:23 +02:00
## Requirements
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
The Registry is compatible with Docker engine version 1.6.0 or higher.
If you really need to work with older Docker versions, you should look into the [old python registry ](https://github.com/docker/docker-registry )
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
## TL;DR
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
```
# Start your registry
docker run -d -p 5000:5000 registry:2
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
# Pull (or build) some image
docker pull ubuntu
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
# Name the image to point to your registry
docker tag ubuntu localhost:5000/myfirstimage
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
# Push it
docker push localhost:5000/myfirstimage
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
# Pull it
docker pull localhost:5000/myfirstimage
```
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
Simple as that? Yes. Now, please read the...
2015-05-13 09:32:14 +02:00
2015-05-22 11:17:23 +02:00
## Documentation
- [Introduction ](introduction.md )
2015-05-13 09:32:14 +02:00
- [Deployment ](deploying.md )
- [Configuration ](configuration.md )
2015-05-22 11:17:23 +02:00
- [Getting help ](help.md )
- [Contributing ](../CONTRIBUTING.md )
2015-05-13 09:32:14 +02:00
2015-05-22 11:17:23 +02:00
Advanced topics:
2015-04-16 02:23:40 +02:00
2015-05-22 11:17:23 +02:00
- [Authentication ](authentication.md )
2015-04-16 02:23:40 +02:00
- [Working with notifications ](notifications.md )
2015-05-22 11:17:23 +02:00
- [Advanced ops ](advanced.md )
Development resources:
- [Storage driver model ](storagedrivers.md )
- [Registry API ](spec/api.md )