...
1# Distribution
2
3The Docker toolset to pack, ship, store, and deliver content.
4
5This repository provides the Docker Registry 2.0 implementation
6for storing and distributing Docker images. It supersedes the
7[docker/docker-registry](https://github.com/docker/docker-registry)
8project with a new API design, focused around security and performance.
9
10<img src="https://www.docker.com/sites/default/files/oyster-registry-3.png" width=200px/>
11
12[](https://circleci.com/gh/docker/distribution/tree/master)
13[](https://godoc.org/github.com/docker/distribution)
14
15This repository contains the following components:
16
17|**Component** |Description |
18|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
19| **registry** | An implementation of the [Docker Registry HTTP API V2](docs/spec/api.md) for use with docker 1.6+. |
20| **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**. |
21| **specifications** | _Distribution_ related specifications are available in [docs/spec](docs/spec) |
22| **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. |
23
24### How does this integrate with Docker engine?
25
26This project should provide an implementation to a V2 API for use in the [Docker
27core project](https://github.com/docker/docker). The API should be embeddable
28and simplify the process of securely pulling and pushing content from `docker`
29daemons.
30
31### What are the long term goals of the Distribution project?
32
33The _Distribution_ project has the further long term goal of providing a
34secure tool chain for distributing content. The specifications, APIs and tools
35should be as useful with Docker as they are without.
36
37Our goal is to design a professional grade and extensible content distribution
38system that allow users to:
39
40* Enjoy an efficient, secured and reliable way to store, manage, package and
41 exchange content
42* Hack/roll their own on top of healthy open-source components
43* Implement their own home made solution through good specs, and solid
44 extensions mechanism.
45
46## More about Registry 2.0
47
48The new registry implementation provides the following benefits:
49
50- faster push and pull
51- new, more efficient implementation
52- simplified deployment
53- pluggable storage backend
54- webhook notifications
55
56For information on upcoming functionality, please see [ROADMAP.md](ROADMAP.md).
57
58### Who needs to deploy a registry?
59
60By default, Docker users pull images from Docker's public registry instance.
61[Installing Docker](https://docs.docker.com/engine/installation/) gives users this
62ability. Users can also push images to a repository on Docker's public registry,
63if they have a [Docker Hub](https://hub.docker.com/) account.
64
65For some users and even companies, this default behavior is sufficient. For
66others, it is not.
67
68For example, users with their own software products may want to maintain a
69registry for private, company images. Also, you may wish to deploy your own
70image repository for images used to test or in continuous integration. For these
71use cases and others, [deploying your own registry instance](https://github.com/docker/docker.github.io/blob/master/registry/deploying.md)
72may be the better choice.
73
74### Migration to Registry 2.0
75
76For those who have previously deployed their own registry based on the Registry
771.0 implementation and wish to deploy a Registry 2.0 while retaining images,
78data migration is required. A tool to assist with migration efforts has been
79created. For more information see [docker/migrator](https://github.com/docker/migrator).
80
81## Contribute
82
83Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute
84issues, fixes, and patches to this project. If you are contributing code, see
85the instructions for [building a development environment](BUILDING.md).
86
87## Support
88
89If any issues are encountered while using the _Distribution_ project, several
90avenues are available for support:
91
92<table>
93<tr>
94 <th align="left">
95 IRC
96 </th>
97 <td>
98 #docker-distribution on FreeNode
99 </td>
100</tr>
101<tr>
102 <th align="left">
103 Issue Tracker
104 </th>
105 <td>
106 github.com/docker/distribution/issues
107 </td>
108</tr>
109<tr>
110 <th align="left">
111 Google Groups
112 </th>
113 <td>
114 https://groups.google.com/a/dockerproject.org/forum/#!forum/distribution
115 </td>
116</tr>
117<tr>
118 <th align="left">
119 Mailing List
120 </th>
121 <td>
122 docker@dockerproject.org
123 </td>
124</tr>
125</table>
126
127
128## License
129
130This project is distributed under [Apache License, Version 2.0](LICENSE).
View as plain text