2015-04-02 17:11:19 +02:00
# Distribution
2014-12-23 00:49:26 +01:00
2014-12-24 02:48:14 +01:00
The Docker toolset to pack, ship, store, and deliver content.
2015-04-19 02:06:51 +02:00
This repository's main product is the Docker Registry 2.0 implementation
2015-11-21 02:18:25 +01:00
for storing and distributing Docker images. It supersedes the
[docker/docker-registry ](https://github.com/docker/docker-registry )
project with a new API design, focused around security and performance.
2015-03-03 08:33:02 +01:00
2015-07-21 21:41:56 +02:00
< img src = "https://www.docker.com/sites/default/files/oyster-registry-3.png" width = 200px/ >
2015-11-04 21:48:18 +01:00
[![Circle CI ](https://circleci.com/gh/docker/distribution/tree/master.svg?style=svg )](https://circleci.com/gh/docker/distribution/tree/master)
[![GoDoc ](https://godoc.org/github.com/docker/distribution?status.svg )](https://godoc.org/github.com/docker/distribution)
2015-03-03 08:33:02 +01:00
This repository contains the following components:
2015-04-02 17:11:19 +02:00
|**Component** |Description |
|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
2015-04-16 11:57:02 +02:00
| **registry** | An implementation of the [Docker Registry HTTP API V2 ](docs/spec/api.md ) for use with docker 1.6+. |
2016-03-23 10:33:03 +01:00
| **libraries** | A rich set of libraries for interacting with distribution components. Please see [godoc ](https://godoc.org/github.com/docker/distribution ) for details. **Note** : These libraries are **unstable** . |
2015-04-02 17:11:19 +02:00
| **specifications** | _Distribution_ related specifications are available in [docs/spec ](docs/spec ) |
2016-10-18 14:31:08 +02:00
| **documentation** | Docker's full documentation set is available at [docs.docker.com ](https://docs.docker.com ). This repository [contains the subset ](docs/ ) related just to the registry. |
2014-12-24 02:48:14 +01:00
2015-04-02 17:11:19 +02:00
### How does this integrate with Docker engine?
2014-12-24 02:48:14 +01:00
2015-04-02 17:11:19 +02:00
This project should provide an implementation to a V2 API for use in the [Docker
core project](https://github.com/docker/docker). The API should be embeddable
and simplify the process of securely pulling and pushing content from `docker`
daemons.
2014-12-24 02:48:14 +01:00
2015-03-03 08:33:02 +01:00
### What are the long term goals of the Distribution project?
2014-12-24 02:48:14 +01:00
2015-04-02 17:11:19 +02:00
The _Distribution_ project has the further long term goal of providing a
secure tool chain for distributing content. The specifications, APIs and tools
should be as useful with Docker as they are without.
Our goal is to design a professional grade and extensible content distribution
system that allow users to:
2014-12-24 02:48:14 +01:00
2015-03-03 08:33:02 +01:00
* Enjoy an efficient, secured and reliable way to store, manage, package and
exchange content
2014-12-24 02:48:14 +01:00
* Hack/roll their own on top of healthy open-source components
2015-03-03 08:33:02 +01:00
* Implement their own home made solution through good specs, and solid
extensions mechanism.
2014-12-24 02:48:14 +01:00
2015-04-02 17:11:19 +02:00
## More about Registry 2.0
2014-12-24 02:48:14 +01:00
2015-03-03 08:33:02 +01:00
The new registry implementation provides the following benefits:
2014-12-24 02:48:14 +01:00
2015-03-03 08:33:02 +01:00
- faster push and pull
- new, more efficient implementation
- simplified deployment
- pluggable storage backend
- webhook notifications
2014-12-24 02:48:14 +01:00
2015-03-18 06:02:11 +01:00
For information on upcoming functionality, please see [ROADMAP.md ](ROADMAP.md ).
2015-04-02 17:11:19 +02:00
### Who needs to deploy a registry?
2014-12-24 02:48:14 +01:00
2015-04-02 17:11:19 +02:00
By default, Docker users pull images from Docker's public registry instance.
2015-12-21 01:22:01 +01:00
[Installing Docker ](https://docs.docker.com/engine/installation/ ) gives users this
2015-04-02 17:11:19 +02:00
ability. Users can also push images to a repository on Docker's public registry,
2016-09-06 18:16:03 +02:00
if they have a [Docker Hub ](https://hub.docker.com/ ) account.
2015-03-03 08:33:02 +01:00
2015-04-02 17:11:19 +02:00
For some users and even companies, this default behavior is sufficient. For
2016-09-06 18:16:03 +02:00
others, it is not.
2015-03-03 08:33:02 +01:00
2015-06-11 08:50:34 +02:00
For example, users with their own software products may want to maintain a
2015-04-02 17:11:19 +02:00
registry for private, company images. Also, you may wish to deploy your own
image repository for images used to test or in continuous integration. For these
2016-10-18 14:31:08 +02:00
use cases and others, [deploying your own registry instance ](https://github.com/docker/docker.github.io/blob/master/registry/deploying.md )
2015-04-02 17:11:19 +02:00
may be the better choice.
2015-03-03 08:33:02 +01:00
2015-08-04 21:16:20 +02:00
### Migration to Registry 2.0
For those who have previously deployed their own registry based on the Registry
1.0 implementation and wish to deploy a Registry 2.0 while retaining images,
data migration is required. A tool to assist with migration efforts has been
created. For more information see [docker/migrator]
(https://github.com/docker/migrator).
2015-04-02 17:11:19 +02:00
## Contribute
2015-03-03 08:33:02 +01:00
2015-04-19 02:06:51 +02:00
Please see [CONTRIBUTING.md ](CONTRIBUTING.md ) for details on how to contribute
issues, fixes, and patches to this project. If you are contributing code, see
2016-09-06 18:16:03 +02:00
the instructions for [building a development environment ](BUILDING.md ).
2015-03-03 08:33:02 +01:00
2015-04-02 17:11:19 +02:00
## Support
If any issues are encountered while using the _Distribution_ project, several
avenues are available for support:
< table >
< tr >
< th align = "left" >
IRC
< / th >
< td >
#docker -distribution on FreeNode
< / td >
< / tr >
< tr >
< th align = "left" >
Issue Tracker
< / th >
< td >
github.com/docker/distribution/issues
< / td >
< / tr >
< tr >
< th align = "left" >
Google Groups
< / th >
< td >
https://groups.google.com/a/dockerproject.org/forum/#!forum/distribution
< / td >
< / tr >
< tr >
< th align = "left" >
Mailing List
< / th >
< td >
docker@dockerproject.org
< / td >
< / tr >
< / table >
## License
2015-03-03 08:33:02 +01:00
2016-02-18 09:12:51 +01:00
This project is distributed under [Apache License, Version 2.0 ](LICENSE ).