Browse code

Addressed regression of private repository documentation.

This adds back in the references to private repositories and
provides some refactoring to the Working with repositories
documentation including updating references to the "Central"
registry to Docker.io.

It also:

* Fixes some links and references to Central Index
* Fixes anchors in other files to updated titles in Working with Repositories.
* Renamed Central Index in the remaining places.
* Updated terms documentation to reflect Docker.io
* Updated some Docker Index naming to be consistent.
* Updates menu labels and hyperlinks.

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)

James Turnbull authored on 2014/04/26 21:00:01
Showing 34 changed files
... ...
@@ -82,12 +82,12 @@ pages:
82 82
 # - ['user-guide/configuration.md', 'User Guide', 'Configuration']
83 83
 # ./faq.md
84 84
 
85
-# Docker Index docs:
86
-- ['index/index.md', '**HIDDEN**']
85
+# Docker.io docs:
86
+- ['docker-io/index.md', '**HIDDEN**']
87 87
 # - ['index/home.md', 'Docker Index', 'Help']
88
-- ['index/accounts.md', 'Docker Index', 'Accounts']
89
-- ['index/repos.md', 'Docker Index', 'Repositories']
90
-- ['index/builds.md', 'Docker Index', 'Trusted Builds']
88
+- ['docker-io/accounts.md', 'Docker.io', 'Accounts']
89
+- ['docker-io/repos.md', 'Docker.io', 'Repositories']
90
+- ['docker-io/builds.md', 'Docker.io', 'Trusted Builds']
91 91
 
92 92
 # Reference
93 93
 - ['reference/index.md', '**HIDDEN**']
... ...
@@ -99,7 +99,7 @@ pages:
99 99
 - ['articles/security.md', 'Reference', 'Security']
100 100
 - ['articles/baseimages.md', 'Reference', 'Creating a Base Image']
101 101
 - ['use/networking.md', 'Reference', 'Advanced networking']
102
-- ['reference/api/index_api.md', 'Reference', 'Docker Index API']
102
+- ['reference/api/docker-io_api.md', 'Reference', 'Docker.io API']
103 103
 - ['reference/api/registry_api.md', 'Reference', 'Docker Registry API']
104 104
 - ['reference/api/registry_index_spec.md', 'Reference', 'Registry & Index Spec']
105 105
 - ['reference/api/docker_remote_api.md', 'Reference', 'Docker Remote API']
... ...
@@ -126,4 +126,3 @@ pages:
126 126
 - ['terms/repository.md', '**HIDDEN**', 'repository']
127 127
 - ['terms/filesystem.md', '**HIDDEN**', 'filesystem']
128 128
 - ['terms/image.md', '**HIDDEN**', 'image']
129
-
130 129
new file mode 100644
... ...
@@ -0,0 +1,32 @@
0
+page_title: Accounts on Docker.io
1
+page_description: Docker.io accounts
2
+page_keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker.io, docs, documentation
3
+
4
+# Accounts on Docker.io
5
+
6
+## Docker.io Accounts
7
+
8
+You can `search` for Docker images and `pull` them from [Docker.io](https://index.docker.io)
9
+without signing in or even having an account. However, in order to `push` images,
10
+leave comments or to *star* a repository, you are going to need a [Docker.io](
11
+https://www.docker.io) account.
12
+
13
+### Registration for a Docker.io Account
14
+
15
+You can get a [Docker.io](https://index.docker.io) account by
16
+[signing up for one here](https://www.docker.io/account/signup/). A valid
17
+email address is required to register, which you will need to verify for
18
+account activation.
19
+
20
+### Email activation process
21
+
22
+You need to have at least one verified email address to be able to use your
23
+[Docker.io](https://index.docker.io) account. If you can't find the validation email,
24
+you can request another by visiting the [Resend Email Confirmation](
25
+https://www.docker.io/account/resend-email-confirmation/) page.
26
+
27
+### Password reset process
28
+
29
+If you can't access your account for some reason, you can reset your password
30
+from the [*Password Reset*](https://www.docker.io/account/forgot-password/)
31
+page.
0 32
\ No newline at end of file
1 33
new file mode 100644
... ...
@@ -0,0 +1,121 @@
0
+page_title: Trusted Builds on Docker.io
1
+page_description: Docker.io Trusted Builds
2
+page_keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker.io, docs, documentation, trusted, builds, trusted builds
3
+
4
+# Trusted Builds on Docker.io
5
+
6
+## Trusted Builds
7
+
8
+*Trusted Builds* is a special feature allowing you to specify a source
9
+repository with a *Dockerfile* to be built by the Docker build clusters. The
10
+system will clone your repository and build the Dockerfile using the repository
11
+as the context. The resulting image will then be uploaded to the registry and
12
+marked as a `Trusted Build`.
13
+
14
+Trusted Builds have a number of advantages. For example, users of *your* Trusted
15
+Build can be certain that the resulting image was built exactly how it claims
16
+to be.
17
+
18
+Furthermore, the Dockerfile will be available to anyone browsing your repository
19
+on the registry. Another advantage of the Trusted Builds feature is the automated
20
+builds. This makes sure that your repository is always up to date.
21
+
22
+### Linking with a GitHub account
23
+
24
+In order to setup a Trusted Build, you need to first link your [Docker.io](
25
+https://index.docker.io) account with a GitHub one. This will allow the registry
26
+to see your repositories.
27
+
28
+> *Note:* We currently request access for *read* and *write* since [Docker.io](
29
+> https://index.docker.io) needs to setup a GitHub service hook. Although nothing
30
+> else is done with your account, this is how GitHub manages permissions, sorry!
31
+
32
+### Creating a Trusted Build
33
+
34
+You can [create a Trusted Build](https://index.docker.io/builds/github/select/)
35
+from any of your public GitHub repositories with a Dockerfile.
36
+
37
+> **Note:** We currently only support public repositories. To have more than
38
+> one Docker image from the same GitHub repository, you will need to set up one
39
+> Trusted Build per Dockerfile, each using a different image name. This rule
40
+> applies to building multiple branches on the same GitHub repository as well.
41
+
42
+### GitHub organizations
43
+
44
+GitHub organizations appear once your membership to that organization is
45
+made public on GitHub. To verify, you can look at the members tab for your
46
+organization on GitHub.
47
+
48
+### GitHub service hooks
49
+
50
+You can follow the below steps to configure the GitHub service hooks for your
51
+Trusted Build:
52
+
53
+<table class="table table-bordered">
54
+  <thead>
55
+    <tr>
56
+      <th>Step</th>
57
+      <th>Screenshot</th>
58
+      <th>Description</th>
59
+    </tr>
60
+  </thead>
61
+  <tbody>
62
+    <tr>
63
+      <td>1.</td>
64
+      <td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_settings.png"></td>
65
+      <td>Login to Github.com, and visit your Repository page. Click on the repository "Settings" link. You will need admin rights to the repository in order to do this. So if you don't have admin rights, you will need to ask someone who does.</td>
66
+    </tr>
67
+    <tr>
68
+      <td>2.</td>
69
+      <td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_service_hooks.png" alt="Service Hooks"></td>
70
+      <td>Click on the "Service Hooks" link</td></tr><tr><td>3.</td><td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_docker_service_hook.png" alt="Find the service hook labeled Docker"></td><td>Find the service hook labeled "Docker" and click on it.</td></tr><tr><td>4.</td><td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_service_hook_docker_activate.png" alt="Activate Service Hooks"></td>
71
+      <td>Click on the "Active" checkbox and then the "Update settings" button, to save changes.</td>
72
+    </tr>
73
+  </tbody>
74
+</table>
75
+
76
+### The Dockerfile and Trusted Builds
77
+
78
+During the build process, we copy the contents of your Dockerfile. We also
79
+add it to the [Docker.io](https://index.docker.io) for the Docker community
80
+to see on the repository page.
81
+
82
+### README.md
83
+
84
+If you have a `README.md` file in your repository, we will use that as the
85
+repository's full description.
86
+
87
+> **Warning:**
88
+> If you change the full description after a build, it will be
89
+> rewritten the next time the Trusted Build has been built. To make changes,
90
+> modify the README.md from the Git repository. We will look for a README.md
91
+> in the same directory as your Dockerfile.
92
+
93
+### Build triggers
94
+
95
+If you need another way to trigger your Trusted Builds outside of GitHub, you
96
+can setup a build trigger. When you turn on the build trigger for a Trusted
97
+Build, it will give you a URL to which you can send POST requests. This will
98
+trigger the Trusted Build process, which is similar to GitHub webhooks.
99
+
100
+> **Note:** 
101
+> You can only trigger one build at a time and no more than one
102
+> every five minutes. If you have a build already pending, or if you already
103
+> recently submitted a build request, those requests *will be ignored*.
104
+> You can find the logs of last 10 triggers on the settings page to verify
105
+> if everything is working correctly.
106
+
107
+### Repository links
108
+
109
+Repository links are a way to associate one Trusted Build with another. If one
110
+gets updated, linking system also triggers a build for the other Trusted Build.
111
+This makes it easy to keep your Trusted Builds up to date.
112
+
113
+To add a link, go to the settings page of a Trusted Build and click on
114
+*Repository Links*. Then enter the name of the repository that you want have
115
+linked.
116
+
117
+> **Warning:**
118
+> You can add more than one repository link, however, you should
119
+> be very careful. Creating a two way relationship between Trusted Builds will
120
+> cause a never ending build loop.
0 121
new file mode 100644
... ...
@@ -0,0 +1,13 @@
0
+page_title: The Docker.io Registry Help
1
+page_description: The Docker Registry help documentation home
2
+page_keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker.io, docs, documentation
3
+
4
+# The Docker.io Registry Help
5
+
6
+## Introduction
7
+
8
+For your questions about the [Docker.io](https://index.docker.io) registry you
9
+can use [this documentation](docs.md).
10
+
11
+If you can not find something you are looking for, please feel free to
12
+[contact us](https://index.docker.io/help/support/).
0 13
\ No newline at end of file
1 14
new file mode 100644
... ...
@@ -0,0 +1,15 @@
0
+title
1
+:   Documentation
2
+
3
+description
4
+:   -- todo: change me
5
+
6
+keywords
7
+:   todo, docker, documentation, basic, builder
8
+
9
+Use
10
+===
11
+
12
+Contents:
13
+
14
+{{ site_name }}
0 15
new file mode 100644
... ...
@@ -0,0 +1,98 @@
0
+page_title: Repositories and Images on Docker.io
1
+page_description: Repositories and Images on Docker.io
2
+page_keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker.io, docs, documentation
3
+
4
+# Repositories and Images on Docker.io
5
+
6
+## Searching for repositories and images
7
+
8
+You can `search` for all the publicly available repositories and images using
9
+Docker. If a repository is not public (i.e., private), it won't be listed on
10
+the repository search results. To see repository statuses, you can look at your
11
+[profile page](https://index.docker.io/account/) on [Docker.io](
12
+https://index.docker.io).
13
+
14
+## Repositories
15
+
16
+### Stars
17
+
18
+Stars are a way to show that you like a repository. They are also an easy way
19
+of bookmark your favorites.
20
+
21
+### Comments
22
+
23
+You can interact with other members of the Docker community and maintainers by
24
+leaving comments on repositories. If you find any comments that are not
25
+appropriate, you can flag them for the admins' review.
26
+
27
+### Private Docker Repositories
28
+
29
+To work with a private repository on [Docker.io](https://index.docker.io), you
30
+will need to add one via the [Add Repository](https://index.docker.io/account/repositories/add)
31
+link. Once the private repository is created, you can `push` and `pull` images
32
+to and from it using Docker.
33
+
34
+> *Note:* You need to be signed in and have access to work with a private
35
+> repository.
36
+
37
+Private repositories are just like public ones. However, it isn't possible to
38
+browse them or search their content on the public registry. They do not get cached
39
+the same way as a public repository either.
40
+
41
+It is possible to give access to a private repository to those whom you 
42
+designate (i.e., collaborators) from its settings page.
43
+
44
+From there, you can also switch repository status (*public* to *private*, or
45
+viceversa). You will need to have an available private repository slot open
46
+before you can do such a switch. If you don't have any, you can always upgrade
47
+your [Docker.io](https://index.docker.io/plans/) plan.
48
+
49
+### Collaborators and their role
50
+
51
+A collaborator is someone you want to give access to a private repository. Once
52
+designated, they can `push` and `pull`. Although, they will not be allowed to
53
+perform any administrative tasks such as deleting the repository or changing its
54
+status from private to public.
55
+
56
+> **Note:** A collaborator can not add other collaborators. Only the owner of
57
+> the repository has administrative access.
58
+
59
+### Webhooks
60
+
61
+You can configure webhooks on the repository settings page. A webhook is called
62
+only after a successful `push` is made. The webhook calls are HTTP POST requests
63
+with a JSON payload similar to the example shown below.
64
+
65
+> **Note:** For testing, you can try an HTTP request tool like
66
+> [requestb.in](http://requestb.in/).
67
+
68
+*Example webhook JSON payload:*
69
+
70
+    {
71
+       "push_data":{
72
+          "pushed_at":1385141110,
73
+          "images":[
74
+             "imagehash1",
75
+             "imagehash2",
76
+             "imagehash3"
77
+          ],
78
+          "pusher":"username"
79
+       },
80
+       "repository":{
81
+          "status":"Active",
82
+          "description":"my docker repo that does cool things",
83
+          "is_trusted":false,
84
+          "full_description":"This is my full description",
85
+          "repo_url":"https://index.docker.io/u/username/reponame/",
86
+          "owner":"username",
87
+          "is_official":false,
88
+          "is_private":false,
89
+          "name":"reponame",
90
+          "namespace":"username",
91
+          "star_count":1,
92
+          "comment_count":1,
93
+          "date_created":1370174400,
94
+          "dockerfile":"my full dockerfile is listed here",
95
+          "repo_name":"username/reponame"
96
+       }
97
+    }
... ...
@@ -35,11 +35,10 @@ Download the small base image named `busybox`:
35 35
     # Download a busybox image
36 36
     $ sudo docker pull busybox
37 37
 
38
-The `busybox` image is a minimal Linux system. You
39
-can do the same with any number of other images, such as
40
-`debian`, `ubuntu` or
41
-`centos`. The images can be found and retrieved
42
-using the [Docker index](http://index.docker.io).
38
+The `busybox` image is a minimal Linux system. You can do the same with
39
+any number of other images, such as `debian`, `ubuntu` or `centos`. The
40
+images can be found and retrieved using the
41
+[Docker.io](http://index.docker.io) registry.
43 42
 
44 43
     $ sudo docker run busybox /bin/echo hello world
45 44
 
46 45
deleted file mode 100644
... ...
@@ -1,31 +0,0 @@
1
-page_title: Accounts in the Docker Index
2
-page_description: Docker Index accounts
3
-page_keywords: Docker, docker, index, accounts, plans, Dockerfile, Docker.io, docs, documentation
4
-
5
-# Accounts in the Docker Index
6
-
7
-## Docker IO and Docker Index Accounts
8
-
9
-You can `search` for Docker images and `pull` them from the [Docker Index](
10
-https://index.docker.io) without signing in or even having an account. However,
11
-in order to `push` images, leave comments or to *star* a repository, you are going
12
-to need a [Docker IO](https://www.docker.io) account.
13
-
14
-### Registration for a Docker IO Account
15
-
16
-You can get a Docker IO account by [signing up for one here](
17
-https://www.docker.io/account/signup/). A valid email address is required to
18
-register, which you will need to verify for account activation.
19
-
20
-### Email activation process
21
-
22
-You need to have at least one verified email address to be able to use your
23
-Docker IO account. If you can't find the validation email, you can request
24
-another by visiting the [Resend Email Confirmation](
25
-https://www.docker.io/account/resend-email-confirmation/) page.
26
-
27
-### Password reset process
28
-
29
-If you can't access your account for some reason, you can reset your password
30
-from the [*Password Reset*](https://www.docker.io/account/forgot-password/)
31
-page.
32 1
\ No newline at end of file
33 2
deleted file mode 100644
... ...
@@ -1,121 +0,0 @@
1
-page_title: Trusted Builds in the Docker Index
2
-page_description: Docker Index Trusted Builds
3
-page_keywords: Docker, docker, index, accounts, plans, Dockerfile, Docker.io, docs, documentation, trusted, builds, trusted builds
4
-
5
-# Trusted Builds in the Docker Index
6
-
7
-## Trusted Builds
8
-
9
-*Trusted Builds* is a special feature allowing you to specify a source
10
-repository with a *Dockerfile* to be built by the Docker build clusters. The
11
-system will clone your repository and build the Dockerfile using the repository
12
-as the context. The resulting image will then be uploaded to the index and
13
-marked as a `Trusted Build`.
14
-
15
-Trusted Builds have a number of advantages. For example, users of *your* Trusted
16
-Build can be certain that the resulting image was built exactly how it claims
17
-to be.
18
-
19
-Furthermore, the Dockerfile will be available to anyone browsing your repository
20
-on the Index. Another advantage of the Trusted Builds feature is the automated
21
-builds. This makes sure that your repository is always up to date.
22
-
23
-### Linking with a GitHub account
24
-
25
-In order to setup a Trusted Build, you need to first link your Docker Index
26
-account with a GitHub one. This will allow the Docker Index to see your
27
-repositories.
28
-
29
-> *Note:* We currently request access for *read* and *write* since the Index
30
-> needs to setup a GitHub service hook. Although nothing else is done with
31
-> your account, this is how GitHub manages permissions, sorry!
32
-
33
-### Creating a Trusted Build
34
-
35
-You can [create a Trusted Build](https://index.docker.io/builds/github/select/)
36
-from any of your public GitHub repositories with a Dockerfile.
37
-
38
-> **Note:** We currently only support public repositories. To have more than
39
-> one Docker image from the same GitHub repository, you will need to set up one
40
-> Trusted Build per Dockerfile, each using a different image name. This rule
41
-> applies to building multiple branches on the same GitHub repository as well.
42
-
43
-### GitHub organizations
44
-
45
-GitHub organizations appear once your membership to that organization is
46
-made public on GitHub. To verify, you can look at the members tab for your
47
-organization on GitHub.
48
-
49
-### GitHub service hooks
50
-
51
-You can follow the below steps to configure the GitHub service hooks for your
52
-Trusted Build:
53
-
54
-<table class="table table-bordered">
55
-  <thead>
56
-    <tr>
57
-      <th>Step</th>
58
-      <th>Screenshot</th>
59
-      <th>Description</th>
60
-    </tr>
61
-  </thead>
62
-  <tbody>
63
-    <tr>
64
-      <td>1.</td>
65
-      <td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_settings.png"></td>
66
-      <td>Login to Github.com, and visit your Repository page. Click on the repository "Settings" link. You will need admin rights to the repository in order to do this. So if you don't have admin rights, you will need to ask someone who does.</td>
67
-    </tr>
68
-    <tr>
69
-      <td>2.</td>
70
-      <td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_service_hooks.png" alt="Service Hooks"></td>
71
-      <td>Click on the "Service Hooks" link</td></tr><tr><td>3.</td><td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_docker_service_hook.png" alt="Find the service hook labeled Docker"></td><td>Find the service hook labeled "Docker" and click on it.</td></tr><tr><td>4.</td><td><img src="https://d207aa93qlcgug.cloudfront.net/0.8/img/github_service_hook_docker_activate.png" alt="Activate Service Hooks"></td>
72
-      <td>Click on the "Active" checkbox and then the "Update settings" button, to save changes.</td>
73
-    </tr>
74
-  </tbody>
75
-</table>
76
-
77
-### The Dockerfile and Trusted Builds
78
-
79
-During the build process, we copy the contents of your Dockerfile. We also
80
-add it to the Docker Index for the Docker community to see on the repository
81
-page.
82
-
83
-### README.md
84
-
85
-If you have a `README.md` file in your repository, we will use that as the
86
-repository's full description.
87
-
88
-> **Warning:**
89
-> If you change the full description after a build, it will be
90
-> rewritten the next time the Trusted Build has been built. To make changes,
91
-> modify the README.md from the Git repository. We will look for a README.md
92
-> in the same directory as your Dockerfile.
93
-
94
-### Build triggers
95
-
96
-If you need another way to trigger your Trusted Builds outside of GitHub, you
97
-can setup a build trigger. When you turn on the build trigger for a Trusted
98
-Build, it will give you a URL to which you can send POST requests. This will
99
-trigger the Trusted Build process, which is similar to GitHub webhooks.
100
-
101
-> **Note:** 
102
-> You can only trigger one build at a time and no more than one
103
-> every five minutes. If you have a build already pending, or if you already
104
-> recently submitted a build request, those requests *will be ignored*.
105
-> You can find the logs of last 10 triggers on the settings page to verify
106
-> if everything is working correctly.
107
-
108
-### Repository links
109
-
110
-Repository links are a way to associate one Trusted Build with another. If one
111
-gets updated, linking system also triggers a build for the other Trusted Build.
112
-This makes it easy to keep your Trusted Builds up to date.
113
-
114
-To add a link, go to the settings page of a Trusted Build and click on
115
-*Repository Links*. Then enter the name of the repository that you want have
116
-linked.
117
-
118
-> **Warning:**
119
-> You can add more than one repository link, however, you should
120
-> be very careful. Creating a two way relationship between Trusted Builds will
121
-> cause a never ending build loop.
122 1
deleted file mode 100644
... ...
@@ -1,13 +0,0 @@
1
-page_title: The Docker Index Help
2
-page_description: The Docker Index help documentation home
3
-page_keywords: Docker, docker, index, accounts, plans, Dockerfile, Docker.io, docs, documentation
4
-
5
-# The Docker Index Help
6
-
7
-## Introduction
8
-
9
-For your questions about the [Docker Index](https://index.docker.io) you can
10
-use [this documentation](docs.md).
11
-
12
-If you can not find something you are looking for, please feel free to
13
-[contact us](https://index.docker.io/help/support/).
14 1
\ No newline at end of file
15 2
deleted file mode 100644
... ...
@@ -1,15 +0,0 @@
1
-title
2
-:   Documentation
3
-
4
-description
5
-:   -- todo: change me
6
-
7
-keywords
8
-:   todo, docker, documentation, basic, builder
9
-
10
-Use
11
-===
12
-
13
-Contents:
14
-
15
-{{ site_name }}
16 1
deleted file mode 100644
... ...
@@ -1,97 +0,0 @@
1
-page_title: Repositories and Images in the Docker Index
2
-page_description: Docker Index repositories
3
-page_keywords: Docker, docker, index, accounts, plans, Dockerfile, Docker.io, docs, documentation
4
-
5
-# Repositories and Images in the Docker Index
6
-
7
-## Searching for repositories and images
8
-
9
-You can `search` for all the publicly available repositories and images using
10
-Docker. If a repository is not public (i.e., private), it won't be listed on
11
-the Index search results. To see repository statuses, you can look at your
12
-[profile page](https://index.docker.io/account/).
13
-
14
-## Repositories
15
-
16
-### Stars
17
-
18
-Stars are a way to show that you like a repository. They are also an easy way
19
-of bookmark your favorites.
20
-
21
-### Comments
22
-
23
-You can interact with other members of the Docker community and maintainers by
24
-leaving comments on repositories. If you find any comments that are not
25
-appropriate, you can flag them for the Index admins' review.
26
-
27
-### Private Docker Repositories
28
-
29
-To work with a private repository on the Docker Index, you will need to add one
30
-via the [Add Repository](https://index.docker.io/account/repositories/add) link.
31
-Once the private repository is created, you can `push` and `pull` images to and
32
-from it using Docker.
33
-
34
-> *Note:* You need to be signed in and have access to work with a private
35
-> repository.
36
-
37
-Private repositories are just like public ones. However, it isn't possible to
38
-browse them or search their content on the public index. They do not get cached
39
-the same way as a public repository either.
40
-
41
-It is possible to give access to a private repository to those whom you 
42
-designate (i.e., collaborators) from its settings page.
43
-
44
-From there, you can also switch repository status (*public* to *private*, or
45
-viceversa). You will need to have an available private repository slot open
46
-before you can do such a switch. If you don't have any, you can always upgrade
47
-your [Docker Index plan](https://index.docker.io/plans/).
48
-
49
-### Collaborators and their role
50
-
51
-A collaborator is someone you want to give access to a private repository. Once
52
-designated, they can `push` and `pull`. Although, they will not be allowed to
53
-perform any administrative tasks such as deleting the repository or changing its
54
-status from private to public.
55
-
56
-> **Note:** A collaborator can not add other collaborators. Only the owner of
57
-> the repository has administrative access.
58
-
59
-### Webhooks
60
-
61
-You can configure webhooks on the repository settings page. A webhook is called
62
-only after a successful `push` is made. The webhook calls are HTTP POST requests
63
-with a JSON payload similar to the example shown below.
64
-
65
-> **Note:** For testing, you can try an HTTP request tool like
66
-> [requestb.in](http://requestb.in/).
67
-
68
-*Example webhook JSON payload:*
69
-
70
-    {
71
-       "push_data":{
72
-          "pushed_at":1385141110,
73
-          "images":[
74
-             "imagehash1",
75
-             "imagehash2",
76
-             "imagehash3"
77
-          ],
78
-          "pusher":"username"
79
-       },
80
-       "repository":{
81
-          "status":"Active",
82
-          "description":"my docker repo that does cool things",
83
-          "is_trusted":false,
84
-          "full_description":"This is my full description",
85
-          "repo_url":"https://index.docker.io/u/username/reponame/",
86
-          "owner":"username",
87
-          "is_official":false,
88
-          "is_private":false,
89
-          "name":"reponame",
90
-          "namespace":"username",
91
-          "star_count":1,
92
-          "comment_count":1,
93
-          "date_created":1370174400,
94
-          "dockerfile":"my full dockerfile is listed here",
95
-          "repo_name":"username/reponame"
96
-       }
97
-    }
... ...
@@ -43,7 +43,7 @@ Docker's main components are:
43 43
 
44 44
  - Docker *daemon*;
45 45
  - Docker *client*, and;
46
- - The Docker Index.
46
+ - [Docker.io](https://index.docker.io) registry.
47 47
 
48 48
 ### The Docker daemon
49 49
 
... ...
@@ -57,9 +57,9 @@ The Docker client is the primary user interface to Docker. It is tasked
57 57
 with accepting commands from the user and communicating back and forth
58 58
 with a Docker daemon to manage the container lifecycle on any host.
59 59
 
60
-### Docker Index, the central Docker registry
60
+### Docker.io registry
61 61
 
62
-The [Docker Index](http://index.docker.io) is the global archive (and
62
+[Docker.io](https://index.docker.io) is the global archive (and
63 63
 directory) of user supplied Docker container images. It currently hosts
64 64
 a large – in fact, rapidly growing – number of projects where you
65 65
 can find almost any popular application or deployment stack readily
... ...
@@ -70,28 +70,29 @@ tools for everyone to grow with other *Dockers*. By issuing a single
70 70
 command through the Docker client you can start sharing your own
71 71
 creations with the rest of the world.
72 72
 
73
-However, knowing that not everything can be shared the Docker Index also
74
-offers private repositories. In order to see the available plans, you
75
-can click [here](https://index.docker.io/plans).
73
+However, knowing that not everything can be shared the [Docker.io](
74
+https://index.docker.io) also offers private repositories. In order to see
75
+the available plans, you can click [here](https://index.docker.io/plans).
76 76
 
77
-Using the [Docker Registry](https://github.com/dotcloud/docker-registry), it is
77
+Using [*docker-registry*](https://github.com/dotcloud/docker-registry), it is
78 78
 also possible to run your own private Docker image registry service on your own
79 79
 servers.
80 80
 
81
-> **Note:** To learn more about the [*Docker Image Index*](
82
-> http://index.docker.io) (public *and* private), check out the [Registry &
81
+> **Note:** To learn more about the [*Docker.io*](http://index.docker.io)
82
+> registry (for public *and* private repositories), check out the [Registry &
83 83
 > Index Spec](http://docs.docker.io/api/registry_index_spec/).
84 84
 
85 85
 ### Summary
86 86
 
87 87
  - **When you install Docker, you get all the components:**  
88
- The daemon, the client and access to the public image registry: the [Docker Index](http://index.docker.io).
88
+ The daemon, the client and access to the [Docker.io](http://index.docker.io) registry.
89 89
  - **You can run these components together or distributed:**  
90 90
  Servers with the Docker daemon running, controlled by the Docker client.
91 91
  - **You can benefit form the public registry:**  
92 92
  Download and build upon images created by the community.
93 93
  - **You can start a private repository for proprietary use.**  
94
- Sign up for a [plan](https://index.docker.io/plans) or host your own [Docker registry](https://github.com/dotcloud/docker-registry).
94
+ Sign up for a [plan](https://index.docker.io/plans) or host your own [docker-registry](
95
+https://github.com/dotcloud/docker-registry).
95 96
 
96 97
 ## Elements of Docker
97 98
 
... ...
@@ -198,7 +199,7 @@ Docker begins with:
198 198
 
199 199
  - **Pulling the `ubuntu` image:**  
200 200
  Docker checks for the presence of the `ubuntu` image and if it doesn't
201
- exist locally on the host, then Docker downloads it from the [Docker Index](https://index.docker.io)
201
+ exist locally on the host, then Docker downloads it from [Docker.io](https://index.docker.io)
202 202
  - **Creates a new container:**  
203 203
  Once Docker has the image it creates a container from it.
204 204
  - **Allocates a filesystem and mounts a read-write _layer_:**  
... ...
@@ -226,28 +227,27 @@ UnionFS technology we saw earlier.
226 226
 
227 227
 Every image starts from a base image, for example `ubuntu` a base Ubuntu
228 228
 image or `fedora` a base Fedora image. Docker builds and provides these
229
-base images via the [Docker Index](http://index.docker.io).
229
+base images via [Docker.io](http://index.docker.io).
230 230
 
231 231
 ### How does a Docker registry work?
232 232
 
233 233
 The Docker registry is a store for your Docker images. Once you build a
234
-Docker image you can *push* it to the [Docker
235
-Index](http://index.docker.io) or to a private registry you run behind
236
-your firewall.
234
+Docker image you can *push* it to a public or private repository on [Docker.io](
235
+http://index.docker.io) or to your own registry running behind your firewall.
237 236
 
238 237
 Using the Docker client, you can search for already published images and
239 238
 then pull them down to your Docker host to build containers from them
240 239
 (or even build on these images).
241 240
 
242
-The [Docker Index](http://index.docker.io) provides both public and
241
+[Docker.io](http://index.docker.io) provides both public and
243 242
 private storage for images. Public storage is searchable and can be
244 243
 downloaded by anyone. Private repositories are excluded from search
245 244
 results and only you and your users can pull them down and use them to
246 245
 build containers. You can [sign up for a plan here](https://index.docker.io/plans).
247 246
 
248
-To learn more, check out the [Working With Repositories](
249
-http://docs.docker.io/use/workingwithrepository) section of our
250
-[User's Manual](http://docs.docker.io).
247
+To learn more, check out the [Working with Repositories](
248
+http://docs.docker.io/use/workingwithrepository) section from the
249
+[Docker documentation](http://docs.docker.io).
251 250
 
252 251
 ## Where to go from here
253 252
 
... ...
@@ -179,10 +179,10 @@ Without dealing with complicated commands or third party applications.
179 179
 Docker allows you to share the images you've built with the world. And
180 180
 lots of people have already shared their own images.
181 181
 
182
-To facilitate this sharing Docker comes with a public registry and index
183
-called the [Docker Index](http://index.docker.io). If you don't want
184
-your images to be public you can also use private images on the Index or
185
-even run your own registry behind your firewall.
182
+To facilitate this sharing Docker comes with a public registry called 
183
+[Docker.io](http://index.docker.io). If you don't want your images to be
184
+public you can also use private images on [Docker.io](https://index.docker.io)
185
+or even run your own registry behind your firewall.
186 186
 
187 187
 **This translates to:**
188 188
 
... ...
@@ -42,7 +42,7 @@ interfaces:
42 42
 
43 43
     - [3 Authorization](registry_api/#authorization)
44 44
 
45
- - [Docker Index API](index_api/)
45
+ - [Docker.io API](index_api/)
46 46
     - [1. Brief introduction](index_api/#brief-introduction)
47 47
     - [2. Endpoints](index_api/#endpoints)
48 48
         - [2.1 Repository](index_api/#repository)
... ...
@@ -734,7 +734,7 @@ Remove the image `name` from the filesystem
734 734
 
735 735
 `GET /images/search`
736 736
 
737
-Search for an image in the docker index
737
+Search for an image on [Docker.io](https://index.docker.io)
738 738
 
739 739
     **Example request**:
740 740
 
... ...
@@ -745,7 +745,7 @@ Remove the image `name` from the filesystem
745 745
 
746 746
 `GET /images/search`
747 747
 
748
-Search for an image in the docker index
748
+Search for an image on [Docker.io](https://index.docker.io)
749 749
 
750 750
     **Example request**:
751 751
 
... ...
@@ -772,7 +772,7 @@ Remove the image `name` from the filesystem
772 772
 
773 773
 `GET /images/search`
774 774
 
775
-Search for an image in the docker index
775
+Search for an image on [Docker.io](https://index.docker.io)
776 776
 
777 777
     **Example request**:
778 778
 
... ...
@@ -821,7 +821,7 @@ Remove the image `name` from the filesystem
821 821
 
822 822
 `GET /images/search`
823 823
 
824
-Search for an image in the docker index
824
+Search for an image on [Docker.io](https://index.docker.io)
825 825
 
826 826
     **Example request**:
827 827
 
... ...
@@ -866,7 +866,7 @@ Remove the image `name` from the filesystem
866 866
 
867 867
 `GET /images/search`
868 868
 
869
-Search for an image in the docker index
869
+Search for an image on [Docker.io](https://index.docker.io)
870 870
 
871 871
     **Example request**:
872 872
 
... ...
@@ -871,7 +871,7 @@ Remove the image `name` from the filesystem
871 871
 
872 872
 `GET /images/search`
873 873
 
874
-Search for an image in the docker index
874
+Search for an image on [Docker.io](https://index.docker.io)
875 875
 
876 876
     **Example request**:
877 877
 
... ...
@@ -976,7 +976,7 @@ Remove the image `name` from the filesystem
976 976
 
977 977
 `GET /images/search`
978 978
 
979
-Search for an image in the docker index
979
+Search for an image on [Docker.io](https://index.docker.io)
980 980
 
981 981
     **Example request**:
982 982
 
... ...
@@ -902,7 +902,7 @@ Remove the image `name` from the filesystem
902 902
 
903 903
 `GET /images/search`
904 904
 
905
-Search for an image in the docker index.
905
+Search for an image on [Docker.io](https://index.docker.io).
906 906
 
907 907
 > **Note**:
908 908
 > The response keys have changed from API v1.6 to reflect the JSON
... ...
@@ -944,7 +944,7 @@ Remove the image `name` from the filesystem
944 944
 
945 945
 `GET /images/search`
946 946
 
947
-Search for an image in the docker index.
947
+Search for an image on [Docker.io](https://index.docker.io).
948 948
 
949 949
 > **Note**:
950 950
 > The response keys have changed from API v1.6 to reflect the JSON
951 951
new file mode 100644
... ...
@@ -0,0 +1,535 @@
0
+page_title: Docker.io API
1
+page_description: API Documentation for the Docker.io API
2
+page_keywords: API, Docker, index, REST, documentation, Docker.io, registry
3
+
4
+# Docker.io API
5
+
6
+## Introduction
7
+
8
+- This is the REST API for [Docker.io](http://index.docker.io).
9
+- Authorization is done with basic auth over SSL
10
+- Not all commands require authentication, only those noted as such.
11
+
12
+## Repository
13
+
14
+### Repositories
15
+
16
+#### User Repo
17
+
18
+`PUT /v1/repositories/(namespace)/(repo_name)/`
19
+
20
+Create a user repository with the given `namespace` and `repo_name`.
21
+
22
+    **Example Request**:
23
+
24
+        PUT /v1/repositories/foo/bar/ HTTP/1.1
25
+        Host: index.docker.io
26
+        Accept: application/json
27
+        Content-Type: application/json
28
+        Authorization: Basic akmklmasadalkm==
29
+        X-Docker-Token: true
30
+
31
+        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"}]
32
+
33
+    Parameters:
34
+
35
+    - **namespace** – the namespace for the repo
36
+    - **repo_name** – the name for the repo
37
+
38
+    **Example Response**:
39
+
40
+        HTTP/1.1 200
41
+        Vary: Accept
42
+        Content-Type: application/json
43
+        WWW-Authenticate: Token signature=123abc,repository="foo/bar",access=write
44
+        X-Docker-Token: signature=123abc,repository="foo/bar",access=write
45
+        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
46
+
47
+        ""
48
+
49
+    Status Codes:
50
+
51
+    - **200** – Created
52
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
53
+    - **401** – Unauthorized
54
+    - **403** – Account is not Active
55
+
56
+`DELETE /v1/repositories/(namespace)/(repo_name)/`
57
+
58
+Delete a user repository with the given `namespace` and `repo_name`.
59
+
60
+    **Example Request**:
61
+
62
+        DELETE /v1/repositories/foo/bar/ HTTP/1.1
63
+        Host: index.docker.io
64
+        Accept: application/json
65
+        Content-Type: application/json
66
+        Authorization: Basic akmklmasadalkm==
67
+        X-Docker-Token: true
68
+
69
+        ""
70
+
71
+    Parameters:
72
+
73
+    - **namespace** – the namespace for the repo
74
+    - **repo_name** – the name for the repo
75
+
76
+    **Example Response**:
77
+
78
+        HTTP/1.1 202
79
+        Vary: Accept
80
+        Content-Type: application/json
81
+        WWW-Authenticate: Token signature=123abc,repository="foo/bar",access=delete
82
+        X-Docker-Token: signature=123abc,repository="foo/bar",access=delete
83
+        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
84
+
85
+        ""
86
+
87
+    Status Codes:
88
+
89
+    - **200** – Deleted
90
+    - **202** – Accepted
91
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
92
+    - **401** – Unauthorized
93
+    - **403** – Account is not Active
94
+
95
+#### Library Repo
96
+
97
+`PUT /v1/repositories/(repo_name)/`
98
+
99
+Create a library repository with the given `repo_name`.
100
+This is a restricted feature only available to docker admins.
101
+
102
+    When namespace is missing, it is assumed to be `library`
103
+
104
+
105
+    **Example Request**:
106
+
107
+        PUT /v1/repositories/foobar/ HTTP/1.1
108
+        Host: index.docker.io
109
+        Accept: application/json
110
+        Content-Type: application/json
111
+        Authorization: Basic akmklmasadalkm==
112
+        X-Docker-Token: true
113
+
114
+        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"}]
115
+
116
+    Parameters:
117
+
118
+    - **repo_name** – the library name for the repo
119
+
120
+    **Example Response**:
121
+
122
+        HTTP/1.1 200
123
+        Vary: Accept
124
+        Content-Type: application/json
125
+        WWW-Authenticate: Token signature=123abc,repository="library/foobar",access=write
126
+        X-Docker-Token: signature=123abc,repository="foo/bar",access=write
127
+        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
128
+
129
+        ""
130
+
131
+    Status Codes:
132
+
133
+    - **200** – Created
134
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
135
+    - **401** – Unauthorized
136
+    - **403** – Account is not Active
137
+
138
+`DELETE /v1/repositories/(repo_name)/`
139
+
140
+Delete a library repository with the given `repo_name`. 
141
+This is a restricted feature only available to docker admins.
142
+
143
+    When namespace is missing, it is assumed to be `library`
144
+
145
+
146
+    **Example Request**:
147
+
148
+        DELETE /v1/repositories/foobar/ HTTP/1.1
149
+        Host: index.docker.io
150
+        Accept: application/json
151
+        Content-Type: application/json
152
+        Authorization: Basic akmklmasadalkm==
153
+        X-Docker-Token: true
154
+
155
+        ""
156
+
157
+    Parameters:
158
+
159
+    - **repo_name** – the library name for the repo
160
+
161
+    **Example Response**:
162
+
163
+        HTTP/1.1 202
164
+        Vary: Accept
165
+        Content-Type: application/json
166
+        WWW-Authenticate: Token signature=123abc,repository="library/foobar",access=delete
167
+        X-Docker-Token: signature=123abc,repository="foo/bar",access=delete
168
+        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
169
+
170
+        ""
171
+
172
+    Status Codes:
173
+
174
+    - **200** – Deleted
175
+    - **202** – Accepted
176
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
177
+    - **401** – Unauthorized
178
+    - **403** – Account is not Active
179
+
180
+### Repository Images
181
+
182
+#### User Repo Images
183
+
184
+`PUT /v1/repositories/(namespace)/(repo_name)/images`
185
+
186
+Update the images for a user repo.
187
+
188
+    **Example Request**:
189
+
190
+        PUT /v1/repositories/foo/bar/images HTTP/1.1
191
+        Host: index.docker.io
192
+        Accept: application/json
193
+        Content-Type: application/json
194
+        Authorization: Basic akmklmasadalkm==
195
+
196
+        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
197
+        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}]
198
+
199
+    Parameters:
200
+
201
+    - **namespace** – the namespace for the repo
202
+    - **repo_name** – the name for the repo
203
+
204
+    **Example Response**:
205
+
206
+        HTTP/1.1 204
207
+        Vary: Accept
208
+        Content-Type: application/json
209
+
210
+        ""
211
+
212
+    Status Codes:
213
+
214
+    - **204** – Created
215
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
216
+    - **401** – Unauthorized
217
+    - **403** – Account is not Active or permission denied
218
+
219
+`GET /v1/repositories/(namespace)/(repo_name)/images`
220
+
221
+Get the images for a user repo.
222
+
223
+    **Example Request**:
224
+
225
+        GET /v1/repositories/foo/bar/images HTTP/1.1
226
+        Host: index.docker.io
227
+        Accept: application/json
228
+
229
+    Parameters:
230
+
231
+    - **namespace** – the namespace for the repo
232
+    - **repo_name** – the name for the repo
233
+
234
+    **Example Response**:
235
+
236
+        HTTP/1.1 200
237
+        Vary: Accept
238
+        Content-Type: application/json
239
+
240
+        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
241
+        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"},
242
+        {"id": "ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds",
243
+        "checksum": "34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew"}]
244
+
245
+    Status Codes:
246
+
247
+    - **200** – OK
248
+    - **404** – Not found
249
+
250
+#### Library Repo Images
251
+
252
+`PUT /v1/repositories/(repo_name)/images`
253
+
254
+Update the images for a library repo.
255
+
256
+    **Example Request**:
257
+
258
+        PUT /v1/repositories/foobar/images HTTP/1.1
259
+        Host: index.docker.io
260
+        Accept: application/json
261
+        Content-Type: application/json
262
+        Authorization: Basic akmklmasadalkm==
263
+
264
+        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
265
+        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}]
266
+
267
+    Parameters:
268
+
269
+    - **repo_name** – the library name for the repo
270
+
271
+    **Example Response**:
272
+
273
+        HTTP/1.1 204
274
+        Vary: Accept
275
+        Content-Type: application/json
276
+
277
+        ""
278
+
279
+    Status Codes:
280
+
281
+    - **204** – Created
282
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
283
+    - **401** – Unauthorized
284
+    - **403** – Account is not Active or permission denied
285
+
286
+`GET /v1/repositories/(repo_name)/images`
287
+
288
+Get the images for a library repo.
289
+
290
+    **Example Request**:
291
+
292
+        GET /v1/repositories/foobar/images HTTP/1.1
293
+        Host: index.docker.io
294
+        Accept: application/json
295
+
296
+    Parameters:
297
+
298
+    - **repo_name** – the library name for the repo
299
+
300
+    **Example Response**:
301
+
302
+        HTTP/1.1 200
303
+        Vary: Accept
304
+        Content-Type: application/json
305
+
306
+        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
307
+        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"},
308
+        {"id": "ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds",
309
+        "checksum": "34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew"}]
310
+
311
+    Status Codes:
312
+
313
+    - **200** – OK
314
+    - **404** – Not found
315
+
316
+### Repository Authorization
317
+
318
+#### Library Repo
319
+
320
+`PUT /v1/repositories/(repo_name)/auth`
321
+
322
+Authorize a token for a library repo
323
+
324
+    **Example Request**:
325
+
326
+        PUT /v1/repositories/foobar/auth HTTP/1.1
327
+        Host: index.docker.io
328
+        Accept: application/json
329
+        Authorization: Token signature=123abc,repository="library/foobar",access=write
330
+
331
+    Parameters:
332
+
333
+    - **repo_name** – the library name for the repo
334
+
335
+    **Example Response**:
336
+
337
+        HTTP/1.1 200
338
+        Vary: Accept
339
+        Content-Type: application/json
340
+
341
+        "OK"
342
+
343
+    Status Codes:
344
+
345
+    - **200** – OK
346
+    - **403** – Permission denied
347
+    - **404** – Not found
348
+
349
+#### User Repo
350
+
351
+`PUT /v1/repositories/(namespace)/(repo_name)/auth`
352
+
353
+Authorize a token for a user repo
354
+
355
+    **Example Request**:
356
+
357
+        PUT /v1/repositories/foo/bar/auth HTTP/1.1
358
+        Host: index.docker.io
359
+        Accept: application/json
360
+        Authorization: Token signature=123abc,repository="foo/bar",access=write
361
+
362
+    Parameters:
363
+
364
+    - **namespace** – the namespace for the repo
365
+    - **repo_name** – the name for the repo
366
+
367
+    **Example Response**:
368
+
369
+        HTTP/1.1 200
370
+        Vary: Accept
371
+        Content-Type: application/json
372
+
373
+        "OK"
374
+
375
+    Status Codes:
376
+
377
+    - **200** – OK
378
+    - **403** – Permission denied
379
+    - **404** – Not found
380
+
381
+### Users
382
+
383
+#### User Login
384
+
385
+`GET /v1/users`
386
+
387
+If you want to check your login, you can try this endpoint
388
+
389
+    **Example Request**:
390
+
391
+        GET /v1/users HTTP/1.1
392
+        Host: index.docker.io
393
+        Accept: application/json
394
+        Authorization: Basic akmklmasadalkm==
395
+
396
+    **Example Response**:
397
+
398
+        HTTP/1.1 200 OK
399
+        Vary: Accept
400
+        Content-Type: application/json
401
+
402
+        OK
403
+
404
+    Status Codes:
405
+
406
+    - **200** – no error
407
+    - **401** – Unauthorized
408
+    - **403** – Account is not Active
409
+
410
+#### User Register
411
+
412
+`POST /v1/users`
413
+
414
+Registering a new account.
415
+
416
+    **Example request**:
417
+
418
+        POST /v1/users HTTP/1.1
419
+        Host: index.docker.io
420
+        Accept: application/json
421
+        Content-Type: application/json
422
+
423
+        {"email": "sam@dotcloud.com",
424
+         "password": "toto42",
425
+         "username": "foobar"}
426
+
427
+    Json Parameters:
428
+
429
+     
430
+
431
+    - **email** – valid email address, that needs to be confirmed
432
+    - **username** – min 4 character, max 30 characters, must match
433
+        the regular expression [a-z0-9_].
434
+    - **password** – min 5 characters
435
+
436
+    **Example Response**:
437
+
438
+        HTTP/1.1 201 OK
439
+        Vary: Accept
440
+        Content-Type: application/json
441
+
442
+        "User Created"
443
+
444
+    Status Codes:
445
+
446
+    - **201** – User Created
447
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
448
+
449
+#### Update User
450
+
451
+`PUT /v1/users/(username)/`
452
+
453
+Change a password or email address for given user. If you pass in an
454
+
455
+    email, it will add it to your account, it will not remove the old
456
+    one. Passwords will be updated.
457
+
458
+    It is up to the client to verify that that password that is sent is
459
+    the one that they want. Common approach is to have them type it
460
+    twice.
461
+
462
+    **Example Request**:
463
+
464
+        PUT /v1/users/fakeuser/ HTTP/1.1
465
+        Host: index.docker.io
466
+        Accept: application/json
467
+        Content-Type: application/json
468
+        Authorization: Basic akmklmasadalkm==
469
+
470
+        {"email": "sam@dotcloud.com",
471
+         "password": "toto42"}
472
+
473
+    Parameters:
474
+
475
+    - **username** – username for the person you want to update
476
+
477
+    **Example Response**:
478
+
479
+        HTTP/1.1 204
480
+        Vary: Accept
481
+        Content-Type: application/json
482
+
483
+        ""
484
+
485
+    Status Codes:
486
+
487
+    - **204** – User Updated
488
+    - **400** – Errors (invalid json, missing or invalid fields, etc)
489
+    - **401** – Unauthorized
490
+    - **403** – Account is not Active
491
+    - **404** – User not found
492
+
493
+## Search
494
+
495
+If you need to search the index, this is the endpoint you would use.
496
+
497
+### Search
498
+
499
+`GET /v1/search`
500
+
501
+Search the Index given a search term. It accepts
502
+
503
+    [GET](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3)
504
+    only.
505
+
506
+    **Example request**:
507
+
508
+        GET /v1/search?q=search_term HTTP/1.1
509
+        Host: example.com
510
+        Accept: application/json
511
+
512
+    **Example response**:
513
+
514
+        HTTP/1.1 200 OK
515
+        Vary: Accept
516
+        Content-Type: application/json
517
+
518
+        {"query":"search_term",
519
+          "num_results": 3,
520
+          "results" : [
521
+             {"name": "ubuntu", "description": "An ubuntu image..."},
522
+             {"name": "centos", "description": "A centos image..."},
523
+             {"name": "fedora", "description": "A fedora image..."}
524
+           ]
525
+         }
526
+
527
+    Query Parameters:
528
+
529
+    - **q** – what you want to search for
530
+
531
+    Status Codes:
532
+
533
+    - **200** – no error
534
+    - **500** – server error
... ...
@@ -934,7 +934,7 @@ Tag the image `name` into a repository
934 934
 
935 935
 `GET /images/search`
936 936
 
937
-Search for an image in the docker index.
937
+Search for an image on [Docker.io](https://index.docker.io).
938 938
 
939 939
 > **Note**:
940 940
 > The response keys have changed from API v1.6 to reflect the JSON
... ...
@@ -937,7 +937,7 @@ Remove the image `name` from the filesystem
937 937
 
938 938
 `GET /images/search`
939 939
 
940
-Search for an image in the docker index.
940
+Search for an image on [Docker.io](https://index.docker.io).
941 941
 
942 942
 > **Note**:
943 943
 > The response keys have changed from API v1.6 to reflect the JSON
... ...
@@ -947,7 +947,7 @@ Tag the image `name` into a repository
947 947
 
948 948
 `GET /images/search`
949 949
 
950
-Search for an image in the docker index.
950
+Search for an image on [Docker.io](https://index.docker.io).
951 951
 
952 952
 > **Note**:
953 953
 > The response keys have changed from API v1.6 to reflect the JSON
954 954
deleted file mode 100644
... ...
@@ -1,535 +0,0 @@
1
-page_title: Index API
2
-page_description: API Documentation for Docker Index
3
-page_keywords: API, Docker, index, REST, documentation
4
-
5
-# Docker Index API
6
-
7
-## Introduction
8
-
9
-- This is the REST API for the Docker index
10
-- Authorization is done with basic auth over SSL
11
-- Not all commands require authentication, only those noted as such.
12
-
13
-## Repository
14
-
15
-### Repositories
16
-
17
-#### User Repo
18
-
19
-`PUT /v1/repositories/(namespace)/(repo_name)/`
20
-
21
-Create a user repository with the given `namespace` and `repo_name`.
22
-
23
-    **Example Request**:
24
-
25
-        PUT /v1/repositories/foo/bar/ HTTP/1.1
26
-        Host: index.docker.io
27
-        Accept: application/json
28
-        Content-Type: application/json
29
-        Authorization: Basic akmklmasadalkm==
30
-        X-Docker-Token: true
31
-
32
-        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"}]
33
-
34
-    Parameters:
35
-
36
-    - **namespace** – the namespace for the repo
37
-    - **repo_name** – the name for the repo
38
-
39
-    **Example Response**:
40
-
41
-        HTTP/1.1 200
42
-        Vary: Accept
43
-        Content-Type: application/json
44
-        WWW-Authenticate: Token signature=123abc,repository="foo/bar",access=write
45
-        X-Docker-Token: signature=123abc,repository="foo/bar",access=write
46
-        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
47
-
48
-        ""
49
-
50
-    Status Codes:
51
-
52
-    - **200** – Created
53
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
54
-    - **401** – Unauthorized
55
-    - **403** – Account is not Active
56
-
57
-`DELETE /v1/repositories/(namespace)/(repo_name)/`
58
-
59
-Delete a user repository with the given `namespace` and `repo_name`.
60
-
61
-    **Example Request**:
62
-
63
-        DELETE /v1/repositories/foo/bar/ HTTP/1.1
64
-        Host: index.docker.io
65
-        Accept: application/json
66
-        Content-Type: application/json
67
-        Authorization: Basic akmklmasadalkm==
68
-        X-Docker-Token: true
69
-
70
-        ""
71
-
72
-    Parameters:
73
-
74
-    - **namespace** – the namespace for the repo
75
-    - **repo_name** – the name for the repo
76
-
77
-    **Example Response**:
78
-
79
-        HTTP/1.1 202
80
-        Vary: Accept
81
-        Content-Type: application/json
82
-        WWW-Authenticate: Token signature=123abc,repository="foo/bar",access=delete
83
-        X-Docker-Token: signature=123abc,repository="foo/bar",access=delete
84
-        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
85
-
86
-        ""
87
-
88
-    Status Codes:
89
-
90
-    - **200** – Deleted
91
-    - **202** – Accepted
92
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
93
-    - **401** – Unauthorized
94
-    - **403** – Account is not Active
95
-
96
-#### Library Repo
97
-
98
-`PUT /v1/repositories/(repo_name)/`
99
-
100
-Create a library repository with the given `repo_name`.
101
-This is a restricted feature only available to docker admins.
102
-
103
-    When namespace is missing, it is assumed to be `library`
104
-
105
-
106
-    **Example Request**:
107
-
108
-        PUT /v1/repositories/foobar/ HTTP/1.1
109
-        Host: index.docker.io
110
-        Accept: application/json
111
-        Content-Type: application/json
112
-        Authorization: Basic akmklmasadalkm==
113
-        X-Docker-Token: true
114
-
115
-        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"}]
116
-
117
-    Parameters:
118
-
119
-    - **repo_name** – the library name for the repo
120
-
121
-    **Example Response**:
122
-
123
-        HTTP/1.1 200
124
-        Vary: Accept
125
-        Content-Type: application/json
126
-        WWW-Authenticate: Token signature=123abc,repository="library/foobar",access=write
127
-        X-Docker-Token: signature=123abc,repository="foo/bar",access=write
128
-        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
129
-
130
-        ""
131
-
132
-    Status Codes:
133
-
134
-    - **200** – Created
135
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
136
-    - **401** – Unauthorized
137
-    - **403** – Account is not Active
138
-
139
-`DELETE /v1/repositories/(repo_name)/`
140
-
141
-Delete a library repository with the given `repo_name`. 
142
-This is a restricted feature only available to docker admins.
143
-
144
-    When namespace is missing, it is assumed to be `library`
145
-
146
-
147
-    **Example Request**:
148
-
149
-        DELETE /v1/repositories/foobar/ HTTP/1.1
150
-        Host: index.docker.io
151
-        Accept: application/json
152
-        Content-Type: application/json
153
-        Authorization: Basic akmklmasadalkm==
154
-        X-Docker-Token: true
155
-
156
-        ""
157
-
158
-    Parameters:
159
-
160
-    - **repo_name** – the library name for the repo
161
-
162
-    **Example Response**:
163
-
164
-        HTTP/1.1 202
165
-        Vary: Accept
166
-        Content-Type: application/json
167
-        WWW-Authenticate: Token signature=123abc,repository="library/foobar",access=delete
168
-        X-Docker-Token: signature=123abc,repository="foo/bar",access=delete
169
-        X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io]
170
-
171
-        ""
172
-
173
-    Status Codes:
174
-
175
-    - **200** – Deleted
176
-    - **202** – Accepted
177
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
178
-    - **401** – Unauthorized
179
-    - **403** – Account is not Active
180
-
181
-### Repository Images
182
-
183
-#### User Repo Images
184
-
185
-`PUT /v1/repositories/(namespace)/(repo_name)/images`
186
-
187
-Update the images for a user repo.
188
-
189
-    **Example Request**:
190
-
191
-        PUT /v1/repositories/foo/bar/images HTTP/1.1
192
-        Host: index.docker.io
193
-        Accept: application/json
194
-        Content-Type: application/json
195
-        Authorization: Basic akmklmasadalkm==
196
-
197
-        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
198
-        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}]
199
-
200
-    Parameters:
201
-
202
-    - **namespace** – the namespace for the repo
203
-    - **repo_name** – the name for the repo
204
-
205
-    **Example Response**:
206
-
207
-        HTTP/1.1 204
208
-        Vary: Accept
209
-        Content-Type: application/json
210
-
211
-        ""
212
-
213
-    Status Codes:
214
-
215
-    - **204** – Created
216
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
217
-    - **401** – Unauthorized
218
-    - **403** – Account is not Active or permission denied
219
-
220
-`GET /v1/repositories/(namespace)/(repo_name)/images`
221
-
222
-Get the images for a user repo.
223
-
224
-    **Example Request**:
225
-
226
-        GET /v1/repositories/foo/bar/images HTTP/1.1
227
-        Host: index.docker.io
228
-        Accept: application/json
229
-
230
-    Parameters:
231
-
232
-    - **namespace** – the namespace for the repo
233
-    - **repo_name** – the name for the repo
234
-
235
-    **Example Response**:
236
-
237
-        HTTP/1.1 200
238
-        Vary: Accept
239
-        Content-Type: application/json
240
-
241
-        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
242
-        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"},
243
-        {"id": "ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds",
244
-        "checksum": "34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew"}]
245
-
246
-    Status Codes:
247
-
248
-    - **200** – OK
249
-    - **404** – Not found
250
-
251
-#### Library Repo Images
252
-
253
-`PUT /v1/repositories/(repo_name)/images`
254
-
255
-Update the images for a library repo.
256
-
257
-    **Example Request**:
258
-
259
-        PUT /v1/repositories/foobar/images HTTP/1.1
260
-        Host: index.docker.io
261
-        Accept: application/json
262
-        Content-Type: application/json
263
-        Authorization: Basic akmklmasadalkm==
264
-
265
-        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
266
-        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}]
267
-
268
-    Parameters:
269
-
270
-    - **repo_name** – the library name for the repo
271
-
272
-    **Example Response**:
273
-
274
-        HTTP/1.1 204
275
-        Vary: Accept
276
-        Content-Type: application/json
277
-
278
-        ""
279
-
280
-    Status Codes:
281
-
282
-    - **204** – Created
283
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
284
-    - **401** – Unauthorized
285
-    - **403** – Account is not Active or permission denied
286
-
287
-`GET /v1/repositories/(repo_name)/images`
288
-
289
-Get the images for a library repo.
290
-
291
-    **Example Request**:
292
-
293
-        GET /v1/repositories/foobar/images HTTP/1.1
294
-        Host: index.docker.io
295
-        Accept: application/json
296
-
297
-    Parameters:
298
-
299
-    - **repo_name** – the library name for the repo
300
-
301
-    **Example Response**:
302
-
303
-        HTTP/1.1 200
304
-        Vary: Accept
305
-        Content-Type: application/json
306
-
307
-        [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
308
-        "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"},
309
-        {"id": "ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds",
310
-        "checksum": "34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew"}]
311
-
312
-    Status Codes:
313
-
314
-    - **200** – OK
315
-    - **404** – Not found
316
-
317
-### Repository Authorization
318
-
319
-#### Library Repo
320
-
321
-`PUT /v1/repositories/(repo_name)/auth`
322
-
323
-Authorize a token for a library repo
324
-
325
-    **Example Request**:
326
-
327
-        PUT /v1/repositories/foobar/auth HTTP/1.1
328
-        Host: index.docker.io
329
-        Accept: application/json
330
-        Authorization: Token signature=123abc,repository="library/foobar",access=write
331
-
332
-    Parameters:
333
-
334
-    - **repo_name** – the library name for the repo
335
-
336
-    **Example Response**:
337
-
338
-        HTTP/1.1 200
339
-        Vary: Accept
340
-        Content-Type: application/json
341
-
342
-        "OK"
343
-
344
-    Status Codes:
345
-
346
-    - **200** – OK
347
-    - **403** – Permission denied
348
-    - **404** – Not found
349
-
350
-#### User Repo
351
-
352
-`PUT /v1/repositories/(namespace)/(repo_name)/auth`
353
-
354
-Authorize a token for a user repo
355
-
356
-    **Example Request**:
357
-
358
-        PUT /v1/repositories/foo/bar/auth HTTP/1.1
359
-        Host: index.docker.io
360
-        Accept: application/json
361
-        Authorization: Token signature=123abc,repository="foo/bar",access=write
362
-
363
-    Parameters:
364
-
365
-    - **namespace** – the namespace for the repo
366
-    - **repo_name** – the name for the repo
367
-
368
-    **Example Response**:
369
-
370
-        HTTP/1.1 200
371
-        Vary: Accept
372
-        Content-Type: application/json
373
-
374
-        "OK"
375
-
376
-    Status Codes:
377
-
378
-    - **200** – OK
379
-    - **403** – Permission denied
380
-    - **404** – Not found
381
-
382
-### Users
383
-
384
-#### User Login
385
-
386
-`GET /v1/users`
387
-
388
-If you want to check your login, you can try this endpoint
389
-
390
-    **Example Request**:
391
-
392
-        GET /v1/users HTTP/1.1
393
-        Host: index.docker.io
394
-        Accept: application/json
395
-        Authorization: Basic akmklmasadalkm==
396
-
397
-    **Example Response**:
398
-
399
-        HTTP/1.1 200 OK
400
-        Vary: Accept
401
-        Content-Type: application/json
402
-
403
-        OK
404
-
405
-    Status Codes:
406
-
407
-    - **200** – no error
408
-    - **401** – Unauthorized
409
-    - **403** – Account is not Active
410
-
411
-#### User Register
412
-
413
-`POST /v1/users`
414
-
415
-Registering a new account.
416
-
417
-    **Example request**:
418
-
419
-        POST /v1/users HTTP/1.1
420
-        Host: index.docker.io
421
-        Accept: application/json
422
-        Content-Type: application/json
423
-
424
-        {"email": "sam@dotcloud.com",
425
-         "password": "toto42",
426
-         "username": "foobar"}
427
-
428
-    Json Parameters:
429
-
430
-     
431
-
432
-    - **email** – valid email address, that needs to be confirmed
433
-    - **username** – min 4 character, max 30 characters, must match
434
-        the regular expression [a-z0-9_].
435
-    - **password** – min 5 characters
436
-
437
-    **Example Response**:
438
-
439
-        HTTP/1.1 201 OK
440
-        Vary: Accept
441
-        Content-Type: application/json
442
-
443
-        "User Created"
444
-
445
-    Status Codes:
446
-
447
-    - **201** – User Created
448
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
449
-
450
-#### Update User
451
-
452
-`PUT /v1/users/(username)/`
453
-
454
-Change a password or email address for given user. If you pass in an
455
-
456
-    email, it will add it to your account, it will not remove the old
457
-    one. Passwords will be updated.
458
-
459
-    It is up to the client to verify that that password that is sent is
460
-    the one that they want. Common approach is to have them type it
461
-    twice.
462
-
463
-    **Example Request**:
464
-
465
-        PUT /v1/users/fakeuser/ HTTP/1.1
466
-        Host: index.docker.io
467
-        Accept: application/json
468
-        Content-Type: application/json
469
-        Authorization: Basic akmklmasadalkm==
470
-
471
-        {"email": "sam@dotcloud.com",
472
-         "password": "toto42"}
473
-
474
-    Parameters:
475
-
476
-    - **username** – username for the person you want to update
477
-
478
-    **Example Response**:
479
-
480
-        HTTP/1.1 204
481
-        Vary: Accept
482
-        Content-Type: application/json
483
-
484
-        ""
485
-
486
-    Status Codes:
487
-
488
-    - **204** – User Updated
489
-    - **400** – Errors (invalid json, missing or invalid fields, etc)
490
-    - **401** – Unauthorized
491
-    - **403** – Account is not Active
492
-    - **404** – User not found
493
-
494
-## Search
495
-
496
-If you need to search the index, this is the endpoint you would use.
497
-
498
-### Search
499
-
500
-`GET /v1/search`
501
-
502
-Search the Index given a search term. It accepts
503
-
504
-    [GET](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3)
505
-    only.
506
-
507
-    **Example request**:
508
-
509
-        GET /v1/search?q=search_term HTTP/1.1
510
-        Host: example.com
511
-        Accept: application/json
512
-
513
-    **Example response**:
514
-
515
-        HTTP/1.1 200 OK
516
-        Vary: Accept
517
-        Content-Type: application/json
518
-
519
-        {"query":"search_term",
520
-          "num_results": 3,
521
-          "results" : [
522
-             {"name": "ubuntu", "description": "An ubuntu image..."},
523
-             {"name": "centos", "description": "A centos image..."},
524
-             {"name": "fedora", "description": "A fedora image..."}
525
-           ]
526
-         }
527
-
528
-    Query Parameters:
529
-
530
-    - **q** – what you want to search for
531
-
532
-    Status Codes:
533
-
534
-    - **200** – no error
535
-    - **500** – server error
... ...
@@ -694,10 +694,10 @@ Pull an image or a repository from the registry
694 694
     Usage: docker pull NAME[:TAG]
695 695
 
696 696
 Most of your images will be created on top of a base image from the
697
-Docker Index ([https://index.docker.io](https://index.docker.io)).
697
+[Docker.io](https://index.docker.io) registry.
698 698
 
699
-The Docker Index contains many pre-built images that you can
700
-`pull` and try without needing to define and configure your own.
699
+[Docker.io](https://index.docker.io) contains many pre-built images that you
700
+can `pull` and try without needing to define and configure your own.
701 701
 
702 702
 To download a particular image, or set of images (i.e., a repository),
703 703
 use `docker pull`:
... ...
@@ -1067,7 +1067,7 @@ It is used to create a backup that can then be used with
1067 1067
 
1068 1068
 ## search
1069 1069
 
1070
-Search the docker index for images
1070
+Search [Docker.io](https://index.docker.io) for images
1071 1071
 
1072 1072
     Usage: docker search TERM
1073 1073
 
... ...
@@ -1075,8 +1075,8 @@ Search the docker index for images
1075 1075
      -s, --stars=0: Only displays with at least xxx stars
1076 1076
      -t, --trusted=false: Only show trusted builds
1077 1077
 
1078
-See [*Find Public Images on the Central Index*](
1079
-/use/workingwithrepository/#searching-central-index) for
1078
+See [*Find Public Images on Docker.io*](
1079
+/use/workingwithrepository/#find-public-images-on-dockerio) for
1080 1080
 more details on finding shared images from the commandline.
1081 1081
 
1082 1082
 ## start
... ...
@@ -1,6 +1,6 @@
1 1
 page_title: Registry
2 2
 page_description: Definition of an Registry
3
-page_keywords: containers, lxc, concepts, explanation, image, repository, container
3
+page_keywords: containers, concepts, explanation, image, repository, container
4 4
 
5 5
 # Registry
6 6
 
... ...
@@ -11,7 +11,7 @@ A Registry is a hosted service containing [*repositories*](
11 11
 responds to the Registry API.
12 12
 
13 13
 The default registry can be accessed using a browser at
14
-[http://images.docker.io](http://images.docker.io) or using the
14
+[Docker.io](http://index.docker.io) or using the
15 15
 `sudo docker search` command.
16 16
 
17 17
 ## Further Reading
... ...
@@ -1,6 +1,6 @@
1 1
 page_title: Repository
2 2
 page_description: Definition of an Repository
3
-page_keywords: containers, lxc, concepts, explanation, image, repository, container
3
+page_keywords: containers, concepts, explanation, image, repository, container
4 4
 
5 5
 # Repository
6 6
 
... ...
@@ -25,9 +25,9 @@ for installation instructions.
25 25
     # Download an ubuntu image
26 26
     sudo docker pull ubuntu
27 27
 
28
-This will find the `ubuntu` image by name in the
29
-[*Central Index*](../workingwithrepository/#searching-central-index) and
30
-download it from the top-level Central Repository to a local image
28
+This will find the `ubuntu` image by name on
29
+[*Docker.io*](../workingwithrepository/#find-public-images-on-dockerio) and
30
+download it from [Docker.io](https://index.docker.io) to a local image
31 31
 cache.
32 32
 
33 33
 > **Note**:
... ...
@@ -6,33 +6,35 @@ page_keywords: repo, repositories, usage, pull image, push image, image, documen
6 6
 
7 7
 ## Introduction
8 8
 
9
-A *repository* is a shareable collection of tagged
9
+Docker is not only a tool for creating and managing your own
10
+[*containers*](/terms/container/#container-def) – **Docker is also a
11
+tool for sharing**. A *repository* is a shareable collection of tagged
10 12
 [*images*](/terms/image/#image-def) that together create the file
11 13
 systems for containers. The repository's name is a label that indicates
12 14
 the provenance of the repository, i.e. who created it and where the
13 15
 original copy is located.
14 16
 
15
-You can find one or more repositories hosted on a *registry*. There can
16
-be an implicit or explicit host name as part of the repository tag. The
17
-implicit registry is located at `index.docker.io`,
18
-the home of "top-level" repositories and the Central Index. This
19
-registry may also include public "user" repositories.
17
+You can find one or more repositories hosted on a *registry*. There are
18
+two types of *registry*: public and private. There's also a default
19
+*registry* that Docker uses which is called
20
+[Docker.io](http://index.docker.io).
21
+[Docker.io](http://index.docker.io) is the home of
22
+"top-level" repositories and public "user" repositories.  The Docker
23
+project provides [Docker.io](http://index.docker.io) to host public and
24
+[private repositories](https://index.docker.io/plans/), namespaced by
25
+user. We provide user authentication and search over all the public
26
+repositories.
20 27
 
21
-Docker is not only a tool for creating and managing your own
22
-[*containers*](/terms/container/#container-def) – **Docker is also
23
-a tool for sharing**. The Docker project provides a Central Registry to
24
-host public repositories, namespaced by user, and a Central Index which
25
-provides user authentication and search over all the public
26
-repositories. You can host your own Registry too! Docker acts as a
27
-client for these services via `docker search, pull, login`
28
-and `push`.
28
+Docker acts as a client for these services via the `docker search, pull,
29
+login` and `push` commands.
29 30
 
30 31
 ## Repositories
31 32
 
32 33
 ### Local Repositories
33 34
 
34 35
 Docker images which have been created and labeled on your local Docker
35
-server need to be pushed to a Public or Private registry to be shared.
36
+server need to be pushed to a Public (by default they are pushed to
37
+[Docker.io](http://index.docker.io)) or Private registry to be shared.
36 38
 
37 39
 ### Public Repositories
38 40
 
... ...
@@ -41,22 +43,29 @@ which are controlled by the Docker team, and *user* repositories created
41 41
 by individual contributors. Anyone can read from these repositories –
42 42
 they really help people get started quickly! You could also use
43 43
 [*Trusted Builds*](#trusted-builds) if you need to keep
44
-control of who accesses your images, but we will only refer to public
45
-repositories in these examples.
44
+control of who accesses your images.
46 45
 
47 46
 - Top-level repositories can easily be recognized by **not** having a
48
-  `/` (slash) in their name. These repositories can generally be trusted.
47
+  `/` (slash) in their name. These repositories represent trusted images
48
+  provided by the Docker team.
49 49
 - User repositories always come in the form of `<username>/<repo_name>`.
50
-  This is what your published images will look like if you push to the public
51
-  Central Registry.
52
-- Only the authenticated user can push to their *username* namespace
53
-  on the Central Registry.
54
-- User images are not checked, it is therefore up to you whether or not you
55
-  trust the creator of this image.
50
+  This is what your published images will look like if you push to the
51
+  public [Docker.io](http://index.docker.io) registry.
52
+- Only the authenticated user can push to their *username* namespace on
53
+  a [Docker.io](http://index.docker.io) repository.
54
+- User images are not curated, it is therefore up to you whether or not
55
+  you trust the creator of this image.
56
+
57
+### Private repositories
58
+
59
+You can also create private repositories on
60
+[Docker.io](https://index.docker.io/plans/). These allow you to store
61
+images that you don't want to share publicly. Only authenticated users
62
+can push to private repositories.
56 63
 
57
-## Find Public Images on the Central Index
64
+## Find Public Images on Docker.io
58 65
 
59
-You can search the Central Index [online](https://index.docker.io) or
66
+You can search the [Docker.io](https://index.docker.io) registry or
60 67
 using the command line interface. Searching can find images by name,
61 68
 user name or description:
62 69
 
... ...
@@ -78,7 +87,7 @@ There you can see two example results: `centos` and
78 78
 shows that it comes from the public repository of a user,
79 79
 `slantview/`, while the first result
80 80
 (`centos`) doesn't explicitly list a repository so
81
-it comes from the trusted Central Repository. The `/`
81
+it comes from the trusted top-level namespace. The `/`
82 82
 character separates a user's repository and the image name.
83 83
 
84 84
 Once you have found the image name, you can download it:
... ...
@@ -92,13 +101,13 @@ What can you do with that image? Check out the
92 92
 [*Examples*](/examples/#example-list) and, when you're ready with
93 93
 your own image, come back here to learn how to share it.
94 94
 
95
-## Contributing to the Central Registry
95
+## Contributing to Docker.io
96 96
 
97
-Anyone can pull public images from the Central Registry, but if you
98
-would like to share one of your own images, then you must register a
99
-unique user name first. You can create your username and login on the
100
-[central Docker Index online](https://index.docker.io/account/signup/),
101
-or by running
97
+Anyone can pull public images from the
98
+[Docker.io](http://index.docker.io) registry, but if you would like to
99
+share one of your own images, then you must register a unique user name
100
+first. You can create your username and login on
101
+[Docker.io](https://index.docker.io/account/signup/), or by running
102 102
 
103 103
     sudo docker login
104 104
 
... ...
@@ -110,15 +119,19 @@ also prompt you to enter a password and your e-mail address. It will
110 110
 then automatically log you in. Now you're ready to commit and push your
111 111
 own images!
112 112
 
113
+> **Note:**
114
+> Your authentication credentials will be stored in the [`.dockercfg`
115
+> authentication file](#authentication-file).
116
+
113 117
 ## Committing a Container to a Named Image
114 118
 
115 119
 When you make changes to an existing image, those changes get saved to a
116 120
 container's file system. You can then promote that container to become
117
-an image by making a `commit`. In addition to
118
-converting the container to an image, this is also your opportunity to
119
-name the image, specifically a name that includes your user name from
120
-the Central Docker Index (as you did a `login`
121
-above) and a meaningful name for the image.
121
+an image by making a `commit`. In addition to converting the container
122
+to an image, this is also your opportunity to name the image,
123
+specifically a name that includes your user name from
124
+[Docker.io](http://index.docker.io) (as you did a `login` above) and a
125
+meaningful name for the image.
122 126
 
123 127
     # format is "sudo docker commit <container_id> <username>/<imagename>"
124 128
     $ sudo docker commit $CONTAINER_ID myname/kickassapp
... ...
@@ -143,7 +156,7 @@ when you push a commit.
143 143
 
144 144
 ### To setup a trusted build
145 145
 
146
-1.  Create a [Docker Index account](https://index.docker.io/) and login.
146
+1.  Create a [Docker.io account](https://index.docker.io/) and login.
147 147
 2.  Link your GitHub account through the `Link Accounts` menu.
148 148
 3.  [Configure a Trusted build](https://index.docker.io/builds/).
149 149
 4.  Pick a GitHub project that has a `Dockerfile` that you want to build.
... ...
@@ -154,8 +167,9 @@ when you push a commit.
154 154
 
155 155
 Once the Trusted Build is configured it will automatically trigger a
156 156
 build, and in a few minutes, if there are no errors, you will see your
157
-new trusted build on the Docker Index. It will will stay in sync with
158
-your GitHub repo until you deactivate the Trusted Build.
157
+new trusted build on the [Docker.io](https://index.docker.io) Registry.
158
+It will will stay in sync with your GitHub repo until you deactivate the
159
+Trusted Build.
159 160
 
160 161
 If you want to see the status of your Trusted Builds you can go to your
161 162
 [Trusted Builds page](https://index.docker.io/builds/) on the Docker
... ...
@@ -167,15 +181,20 @@ cannot however push to a Trusted Build with the `docker push` command.
167 167
 You can only manage it by committing code to your GitHub repository.
168 168
 
169 169
 You can create multiple Trusted Builds per repository and configure them
170
-to point to specific Dockerfile's or Git branches.
170
+to point to specific `Dockerfile`'s or Git branches.
171 171
 
172 172
 ## Private Registry
173 173
 
174
-Private registries and private shared repositories are only possible by
175
-hosting [your own registry](https://github.com/dotcloud/docker-registry).
176
-To push or pull to a repository on your own registry, you must prefix the
177
-tag with the address of the registry's host (a `.` or `:` is used to identify
178
-a host), like this:
174
+Private registries are possible by hosting [your own
175
+registry](https://github.com/dotcloud/docker-registry).
176
+
177
+> **Note**:
178
+> You can also use private repositories on
179
+> [Docker.io](https://index.docker.io/plans/).
180
+
181
+To push or pull to a repository on your own registry, you must prefix
182
+the tag with the address of the registry's host (a `.` or `:` is used to
183
+identify a host), like this:
179 184
 
180 185
     # Tag to create a repository with the full registry location.
181 186
     # The location (e.g. localhost.localdomain:5000) becomes
... ...
@@ -187,9 +206,9 @@ a host), like this:
187 187
 
188 188
 Once a repository has your registry's host name as part of the tag, you
189 189
 can push and pull it like any other repository, but it will **not** be
190
-searchable (or indexed at all) in the Central Index, and there will be
190
+searchable (or indexed at all) on [Docker.io](http://index.docker.io), and there will be
191 191
 no user name checking performed. Your registry will function completely
192
-independently from the Central Index.
192
+independently from the [Docker.io](http://index.docker.io) registry.
193 193
 
194 194
 <iframe width="640" height="360" src="//www.youtube.com/embed/CAewZCBT4PI?rel=0" frameborder="0" allowfullscreen></iframe>
195 195