2016-09-29 19:21:06 +00:00
|
|
|
---
|
2016-11-05 00:06:47 +00:00
|
|
|
redirect_from:
|
2016-09-29 19:21:06 +00:00
|
|
|
- /registry/overview/
|
|
|
|
description: High-level overview of the Registry
|
2016-11-04 20:33:29 +00:00
|
|
|
keywords:
|
|
|
|
- registry, on-prem, images, tags, repository, distribution
|
2016-11-04 22:38:40 +00:00
|
|
|
title: Docker Registry
|
2016-09-29 19:21:06 +00:00
|
|
|
---
|
2016-09-28 21:46:28 +00:00
|
|
|
|
|
|
|
## What it is
|
|
|
|
|
2016-11-04 22:38:40 +00: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).
|
2016-09-28 21:46:28 +00:00
|
|
|
|
|
|
|
## Why use it
|
|
|
|
|
|
|
|
You should use the Registry if you want to:
|
|
|
|
|
|
|
|
* tightly control where your images are being stored
|
|
|
|
* fully own your images distribution pipeline
|
|
|
|
* integrate image storage and distribution tightly into your in-house development workflow
|
|
|
|
|
|
|
|
## Alternatives
|
|
|
|
|
2016-11-04 22:38:40 +00: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).
|
2016-09-28 21:46:28 +00:00
|
|
|
|
2016-11-04 22:38:40 +00:00
|
|
|
Users looking for a commercially supported version of the Registry should look
|
|
|
|
into [Docker Trusted Registry](/docker-trusted-registry/overview/).
|
2016-09-28 21:46:28 +00:00
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
2016-11-04 22:38:40 +00: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).
|
2016-09-28 21:46:28 +00:00
|
|
|
|
|
|
|
## TL;DR
|
|
|
|
|
|
|
|
Start your registry
|
|
|
|
|
|
|
|
docker run -d -p 5000:5000 --name registry registry:2
|
|
|
|
|
|
|
|
Pull (or build) some image from the hub
|
|
|
|
|
|
|
|
docker pull ubuntu
|
|
|
|
|
|
|
|
Tag the image so that it points to your registry
|
|
|
|
|
|
|
|
docker tag ubuntu localhost:5000/myfirstimage
|
|
|
|
|
|
|
|
Push it
|
|
|
|
|
|
|
|
docker push localhost:5000/myfirstimage
|
|
|
|
|
|
|
|
Pull it back
|
|
|
|
|
|
|
|
docker pull localhost:5000/myfirstimage
|
|
|
|
|
|
|
|
Now stop your registry and remove all data
|
|
|
|
|
|
|
|
docker stop registry && docker rm -v registry
|
|
|
|
|
|
|
|
## Next
|
|
|
|
|
2016-11-04 22:38:40 +00:00
|
|
|
You should now read the [detailed introduction about the
|
|
|
|
registry](introduction.md), or jump directly to [deployment
|
|
|
|
instructions](deploying.md).
|