The existing page is focused on listing a set of requirements for
proposing a new repository. This information has become outdated and is
duplicated in the `docker-library/official-images` and
`docker-library/docs` GitHub repositories. This PR rewrites the
Official Repositories page to describe what they actually are, and
defers to GitHub/IRC for the subset of users that are interested in
contributing. I also removed the requirement to contact
partners@docker.com and made it optional to reduce the barrier to entry.
Signed-off-by: Peter Salvatore <peter@psftw.com>
| ... | ... |
@@ -76,7 +76,7 @@ pages: |
| 76 | 76 |
- ['docker-hub/accounts.md', 'Docker Hub', 'Accounts'] |
| 77 | 77 |
- ['docker-hub/repos.md', 'Docker Hub', 'Repositories'] |
| 78 | 78 |
- ['docker-hub/builds.md', 'Docker Hub', 'Automated Builds'] |
| 79 |
-- ['docker-hub/official_repos.md', 'Docker Hub', 'Official repo guidelines'] |
|
| 79 |
+- ['docker-hub/official_repos.md', 'Docker Hub', 'Official Repositories'] |
|
| 80 | 80 |
|
| 81 | 81 |
# Docker Hub Enterprise: |
| 82 | 82 |
- ['docker-hub-enterprise/index.md', 'Docker Hub Enterprise', 'Overview' ] |
| ... | ... |
@@ -65,4 +65,4 @@ There are lots more resources available to help you write your 'Dockerfile`. |
| 65 | 65 |
* There's a [complete guide to all the instructions](/reference/builder/) available for use in a `Dockerfile` in the reference section. |
| 66 | 66 |
* To help you write a clear, readable, maintainable `Dockerfile`, we've also |
| 67 | 67 |
written a [`Dockerfile` Best Practices guide](/articles/dockerfile_best-practices). |
| 68 |
-* If you're working on an Official Repo, be sure to check out the [Official Repo Guidelines](/docker-hub/official_repos/). |
|
| 68 |
+* If your goal is to create a new Official Repository, be sure to read up on Docker's [Official Repositories](/docker-hub/official_repos/). |
| ... | ... |
@@ -419,9 +419,9 @@ fail catastrophically if the new build's context is missing the resource being |
| 419 | 419 |
added. Adding a separate tag, as recommended above, will help mitigate this by |
| 420 | 420 |
allowing the `Dockerfile` author to make a choice. |
| 421 | 421 |
|
| 422 |
-## Examples for official repositories |
|
| 422 |
+## Examples for Official Repositories |
|
| 423 | 423 |
|
| 424 |
-These Official Repos have exemplary `Dockerfile`s: |
|
| 424 |
+These Official Repositories have exemplary `Dockerfile`s: |
|
| 425 | 425 |
|
| 426 | 426 |
* [Go](https://registry.hub.docker.com/_/golang/) |
| 427 | 427 |
* [Perl](https://registry.hub.docker.com/_/perl/) |
| ... | ... |
@@ -1,189 +1,106 @@ |
| 1 |
-page_title: Guidelines for official repositories on Docker Hub |
|
| 1 |
+page_title: Official Repositories on Docker Hub |
|
| 2 | 2 |
page_description: Guidelines for Official Repositories on Docker Hub |
| 3 | 3 |
page_keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, official, image, documentation |
| 4 | 4 |
|
| 5 |
-# Guidelines for creating and documenting official repositories |
|
| 6 |
- |
|
| 7 |
-## Introduction |
|
| 8 |
- |
|
| 9 |
-You’ve been given the job of creating an image for an Official Repository |
|
| 10 |
-hosted on [Docker Hub Registry](https://registry.hub.docker.com/). These are |
|
| 11 |
-our guidelines for getting that task done. Even if you’re not |
|
| 12 |
-planning to create an Official Repo, you can think of these guidelines as best |
|
| 13 |
-practices for image creation generally. |
|
| 14 |
- |
|
| 15 |
-This document consists of two major sections: |
|
| 16 |
- |
|
| 17 |
-* A list of expected files, resources and supporting items for your image, |
|
| 18 |
-along with best practices for creating those items |
|
| 19 |
-* Examples embodying those practices |
|
| 20 |
- |
|
| 21 |
-## Expected files and resources |
|
| 22 |
- |
|
| 23 |
-### A Git repository |
|
| 24 |
- |
|
| 25 |
-Your image needs to live in a Git repository, preferably on GitHub. (If you’d |
|
| 26 |
-like to use a different provider, please [contact us](mailto:feedback@docker.com) |
|
| 27 |
-directly.) Docker **strongly** recommends that this repo be publicly |
|
| 28 |
-accessible. |
|
| 29 |
- |
|
| 30 |
-If the repo is private or has otherwise limited access, you must provide a |
|
| 31 |
-means of at least “read-only” access for both general users and for the |
|
| 32 |
-docker-library maintainers, who need access for review and building purposes. |
|
| 33 |
- |
|
| 34 |
-### A Dockerfile |
|
| 35 |
- |
|
| 36 |
-Complete information on `Dockerfile`s can be found in the [Reference section](https://docs.docker.com/reference/builder/). |
|
| 37 |
-We also have a page discussing [best practices for writing `Dockerfile`s](/articles/dockerfile_best-practices). |
|
| 38 |
-Your `Dockerfile` should adhere to the following: |
|
| 39 |
- |
|
| 40 |
-* It must be written either by using `FROM scratch` or be based on another, |
|
| 41 |
-established Official Image. |
|
| 42 |
-* It must follow `Dockerfile` best practices. These are discussed on the |
|
| 43 |
-[best practices page](/articles/dockerfile_best-practices). In addition, |
|
| 44 |
-Docker engineer Michael Crosby has some good tips for `Dockerfiles` in |
|
| 45 |
-this [blog post](http://crosbymichael.com/dockerfile-best-practices-take-2.html). |
|
| 46 |
- |
|
| 47 |
-While [`ONBUILD` triggers](https://docs.docker.com/reference/builder/#onbuild) |
|
| 48 |
-are not required, if you choose to use them you should: |
|
| 49 |
- |
|
| 50 |
-* Build both `ONBUILD` and non-`ONBUILD` images, with the `ONBUILD` image |
|
| 51 |
-built `FROM` the non-`ONBUILD` image. |
|
| 52 |
-* The `ONBUILD` image should be specifically tagged, for example, `ruby: |
|
| 53 |
-latest`and `ruby:onbuild`, or `ruby:2` and `ruby:2-onbuild` |
|
| 54 |
- |
|
| 55 |
-### A short description |
|
| 56 |
- |
|
| 57 |
-Include a brief description of your image (in plaintext). Only one description |
|
| 58 |
-is required; you don’t need additional descriptions for each tag. The file |
|
| 59 |
-should also: |
|
| 60 |
- |
|
| 61 |
-* Be named `README-short.txt` |
|
| 62 |
-* Reside in the repo for the “latest” tag |
|
| 63 |
-* Not exceed 100 characters |
|
| 64 |
- |
|
| 65 |
-### A logo |
|
| 66 |
- |
|
| 67 |
-Include a logo of your company or the product (png format preferred). Only one |
|
| 68 |
-logo is required; you don’t need additional logo files for each tag. The logo |
|
| 69 |
-file should have the following characteristics: |
|
| 70 |
- |
|
| 71 |
-* Be named `logo.png` |
|
| 72 |
-* Should reside in the repo for the “latest” tag |
|
| 73 |
-* Should fit inside a 200px square, maximized in one dimension (preferably the |
|
| 74 |
-width) |
|
| 75 |
-* Square or wide (landscape) is preferred over tall (portrait), but exceptions |
|
| 76 |
-can be made based on the logo needed |
|
| 77 |
- |
|
| 78 |
-### A long description |
|
| 79 |
- |
|
| 80 |
-Include a comprehensive description of your image (in Markdown format, GitHub |
|
| 81 |
-flavor preferred). Only one description is required; you don’t need additional |
|
| 82 |
-descriptions for each tag. The file should also: |
|
| 83 |
- |
|
| 84 |
-* Be named `README.md` |
|
| 85 |
-* Reside in the repo for the “latest” tag |
|
| 86 |
-* Be no longer than absolutely necessary, while still addressing all the |
|
| 87 |
-content requirements |
|
| 88 |
- |
|
| 89 |
-In terms of content, the long description must include the following sections: |
|
| 90 |
- |
|
| 91 |
-* Overview & links |
|
| 92 |
-* How-to/usage |
|
| 93 |
-* Issues & contributions |
|
| 94 |
- |
|
| 95 |
-#### Overview and links |
|
| 96 |
- |
|
| 97 |
-This section should provide: |
|
| 98 |
- |
|
| 99 |
-* an overview of the software contained in the image, similar to the |
|
| 100 |
-introduction in a Wikipedia entry |
|
| 101 |
- |
|
| 102 |
-* a selection of links to outside resources that help to describe the software |
|
| 103 |
- |
|
| 104 |
-* a *mandatory* link to the `Dockerfile` |
|
| 105 |
- |
|
| 106 |
-#### How-to/usage |
|
| 107 |
- |
|
| 108 |
-A section that describes how to run and use the image, including common use |
|
| 109 |
-cases and example `Dockerfile`s (if applicable). Try to provide clear, step-by- |
|
| 110 |
-step instructions wherever possible. |
|
| 111 |
- |
|
| 112 |
-##### Issues and contributions |
|
| 113 |
- |
|
| 114 |
-In this section, point users to any resources that can help them contribute to |
|
| 115 |
-the project. Include contribution guidelines and any specific instructions |
|
| 116 |
-related to your development practices. Include a link to |
|
| 117 |
-[Docker’s resources for contributors](https://docs.docker.com/contributing/contributing/). |
|
| 118 |
-Be sure to include contact info, handles, etc. for official maintainers. |
|
| 119 |
- |
|
| 120 |
-Also include information letting users know where they can go for help and how |
|
| 121 |
-they can file issues with the repo. Point them to any specific IRC channels, |
|
| 122 |
-issue trackers, contacts, additional “how-to” information or other resources. |
|
| 123 |
- |
|
| 124 |
-### License |
|
| 125 |
- |
|
| 126 |
-Include a file, `LICENSE`, of any applicable license. Docker recommends using |
|
| 127 |
-the license of the software contained in the image, provided it allows Docker, |
|
| 128 |
-Inc. to legally build and distribute the image. Otherwise, Docker recommends |
|
| 129 |
-adopting the [Expat license](http://directory.fsf.org/wiki/License:Expat) |
|
| 130 |
-(a.k.a., the MIT or X11 license). |
|
| 131 |
- |
|
| 132 |
-## Examples |
|
| 133 |
- |
|
| 134 |
-Below are sample short and long description files for an imaginary image |
|
| 135 |
-containing Ruby on Rails. |
|
| 136 |
- |
|
| 137 |
-### Short description |
|
| 138 |
- |
|
| 139 |
-`README-short.txt` |
|
| 140 |
- |
|
| 141 |
-`Ruby on Rails is an open-source application framework written in Ruby. It emphasizes best practices such as convention over configuration, active record pattern, and the model-view-controller pattern.` |
|
| 142 |
- |
|
| 143 |
-### Long description |
|
| 144 |
- |
|
| 145 |
-`README.md` |
|
| 146 |
- |
|
| 147 |
-```markdown |
|
| 148 |
-# What is Ruby on Rails |
|
| 149 |
- |
|
| 150 |
-Ruby on Rails, often simply referred to as Rails, is an open source web application framework which runs via the Ruby programming language. It is a full-stack framework: it allows creating pages and applications that gather information from the web server, talk to or query the database, and render templates out of the box. As a result, Rails features a routing system that is independent of the web server. |
|
| 151 |
- |
|
| 152 |
-> [wikipedia.org/wiki/Ruby_on_Rails](https://en.wikipedia.org/wiki/Ruby_on_Rails) |
|
| 153 |
- |
|
| 154 |
-# How to use this image |
|
| 155 |
- |
|
| 156 |
-## Create a `Dockerfile` in your rails app project |
|
| 157 |
- |
|
| 158 |
- FROM rails:onbuild |
|
| 159 |
- |
|
| 160 |
-Put this file in the root of your app, next to the `Gemfile`. |
|
| 161 |
- |
|
| 162 |
-This image includes multiple `ONBUILD` triggers so that should be all that you need for most applications. The build will `ADD . /usr/src/app`, `RUN bundle install`, `EXPOSE 3000`, and set the default command to `rails server`. |
|
| 163 |
- |
|
| 164 |
-Then build and run the Docker image. |
|
| 165 |
- |
|
| 166 |
- docker build -t my-rails-app . |
|
| 167 |
- docker run --name some-rails-app -d my-rails-app |
|
| 168 |
- |
|
| 169 |
-Test it by visiting `http://container-ip:3000` in a browser. On the other hand, if you need access outside the host on port 8080: |
|
| 170 |
- |
|
| 171 |
- docker run --name some-rails-app -p 8080:3000 -d my-rails-app |
|
| 172 |
- |
|
| 173 |
-Then go to `http://localhost:8080` or `http://host-ip:8080` in a browser. |
|
| 174 |
-``` |
|
| 175 |
- |
|
| 176 |
-For more examples, take a look at these repos: |
|
| 177 |
- |
|
| 178 |
-* [Go](https://github.com/docker-library/golang) |
|
| 179 |
-* [PostgreSQL](https://github.com/docker-library/postgres) |
|
| 180 |
-* [Buildpack-deps](https://github.com/docker-library/buildpack-deps) |
|
| 181 |
-* ["Hello World" minimal container](https://github.com/docker-library/hello-world) |
|
| 182 |
-* [Node](https://github.com/docker-library/node) |
|
| 183 |
- |
|
| 184 |
-## Submit your repo |
|
| 185 |
- |
|
| 186 |
-Once you've checked off everything in these guidelines, and are confident your |
|
| 187 |
-image is ready for primetime, please contact us at |
|
| 188 |
-[partners@docker.com](mailto:partners@docker.com) to have your project |
|
| 189 |
-considered for the Official Repos program. |
|
| 5 |
+# Official Repositories on Docker Hub |
|
| 6 |
+ |
|
| 7 |
+The Docker [Official Repositories](http://registry.hub.docker.com/official) are |
|
| 8 |
+a curated set of Docker repositories that are promoted on Docker Hub and |
|
| 9 |
+supported by Docker, Inc. They are designed to: |
|
| 10 |
+ |
|
| 11 |
+* Provide essential base OS repositories (for example, |
|
| 12 |
+ [`ubuntu`](https://registry.hub.docker.com/_/ubuntu/), |
|
| 13 |
+ [`centos`](https://registry.hub.docker.com/_/centos/)) that serve as the |
|
| 14 |
+ starting point for the majority of users. |
|
| 15 |
+ |
|
| 16 |
+* Provide drop-in solutions for popular programming language runtimes, data |
|
| 17 |
+ stores, and other services, similar to what a Platform-as-a-Service (PAAS) |
|
| 18 |
+ would offer. |
|
| 19 |
+ |
|
| 20 |
+* Exemplify [`Dockerfile` best practices](/articles/dockerfile_best-practices) |
|
| 21 |
+ and provide clear documentation to serve as a reference for other `Dockerfile` |
|
| 22 |
+ authors. |
|
| 23 |
+ |
|
| 24 |
+* Ensure that security updates are applied in a timely manner. This is |
|
| 25 |
+ particularly important as many Official Repositories are some of the most |
|
| 26 |
+ popular on Docker Hub. |
|
| 27 |
+ |
|
| 28 |
+* Provide a channel for software vendors to redistribute up-to-date and |
|
| 29 |
+ supported versions of their products. Organization accounts on Docker Hub can |
|
| 30 |
+ also serve this purpose, without the careful review or restrictions on what |
|
| 31 |
+ can be published. |
|
| 32 |
+ |
|
| 33 |
+Docker, Inc. sponsors a dedicated team that is responsible for reviewing and |
|
| 34 |
+publishing all Official Repositories content. This team works in collaboration |
|
| 35 |
+with upstream software maintainers, security experts, and the broader Docker |
|
| 36 |
+community. |
|
| 37 |
+ |
|
| 38 |
+While it is preferrable to have upstream software authors maintaining their |
|
| 39 |
+corresponding Official Repositories, this is not a strict requirement. Creating |
|
| 40 |
+and maintaining images for Official Repositories is a public process. It takes |
|
| 41 |
+place openly on GitHub where participation is encouraged. Anyone can provide |
|
| 42 |
+feedback, contribute code, suggest process changes, or even propose a new |
|
| 43 |
+Official Repository. |
|
| 44 |
+ |
|
| 45 |
+## Should I use Official Repositories? |
|
| 46 |
+ |
|
| 47 |
+New Docker users are encouraged to use the Official Repositories in their |
|
| 48 |
+projects. These repositories have clear documentation, promote best practices, |
|
| 49 |
+and are designed for the most common use cases. Advanced users are encouraged to |
|
| 50 |
+review the Official Repositories as part of their `Dockerfile` learning process. |
|
| 51 |
+ |
|
| 52 |
+A common rationale for diverging from Official Repositories is to optimize for |
|
| 53 |
+image size. For instance, many of the programming language stack images contain |
|
| 54 |
+a complete build toolchain to support installation of modules that depend on |
|
| 55 |
+optimized code. An advanced user could build a custom image with just the |
|
| 56 |
+necessary pre-compiled libraries to save space. |
|
| 57 |
+ |
|
| 58 |
+A number of language stacks such as |
|
| 59 |
+[`python`](https://registry.hub.docker.com/_/python/) and |
|
| 60 |
+[`ruby`](https://registry.hub.docker.com/_/ruby/) have `-slim` tag variants |
|
| 61 |
+designed to fill the need for optimization. Even when these "slim" variants are |
|
| 62 |
+insufficient, it is still recommended to inherit from an Official Repository |
|
| 63 |
+base OS image to leverage the ongoing maintenance work, rather than duplicating |
|
| 64 |
+these efforts. |
|
| 65 |
+ |
|
| 66 |
+## How can I get involved? |
|
| 67 |
+ |
|
| 68 |
+All Official Repositories contain a **User Feedback** section in their |
|
| 69 |
+documentation which covers the details for that specific repository. In most |
|
| 70 |
+cases, the GitHub repository which contains the Dockerfiles for an Official |
|
| 71 |
+Repository also has an active issue tracker. General feedback and support |
|
| 72 |
+questions should be directed to `#docker-library` on Freenode IRC. |
|
| 73 |
+ |
|
| 74 |
+## How do I create a new Official Repository? |
|
| 75 |
+ |
|
| 76 |
+From a high level, an Official Repository starts out as a proposal in the form |
|
| 77 |
+of a set of GitHub pull requests. You'll find detailed and objective proposal |
|
| 78 |
+requirements in the following GitHub repositories: |
|
| 79 |
+ |
|
| 80 |
+* [docker-library/official-images](https://github.com/docker-library/official-images) |
|
| 81 |
+ |
|
| 82 |
+* [docker-library/docs](https://github.com/docker-library/docs) |
|
| 83 |
+ |
|
| 84 |
+The Official Repositories team, with help from community contributors, formally |
|
| 85 |
+review each proposal and provide feedback to the author. This initial review |
|
| 86 |
+process may require a bit of back and forth before the proposal is accepted. |
|
| 87 |
+ |
|
| 88 |
+There are also subjective considerations during the review process. These |
|
| 89 |
+subjective concerns boil down to the basic question: "is this image generally |
|
| 90 |
+useful?" For example, the [`python`](https://registry.hub.docker.com/_/python/) |
|
| 91 |
+Official Repository is "generally useful" to the large Python developer |
|
| 92 |
+community, whereas an obscure text adventure game written in Python last week is |
|
| 93 |
+not. |
|
| 94 |
+ |
|
| 95 |
+When a new proposal is accepted, the author becomes responsibile for keeping |
|
| 96 |
+their images up-to-date and responding to user feedback. The Official |
|
| 97 |
+Repositories team becomes responsibile for publishing the images and |
|
| 98 |
+documentation on Docker Hub. Updates to the Official Repository follow the same |
|
| 99 |
+pull request process, though with less review. The Official Repositories team |
|
| 100 |
+ultimately acts as a gatekeeper for all changes, which helps mitigate the risk |
|
| 101 |
+of quality and security issues from being introduced. |
|
| 102 |
+ |
|
| 103 |
+> **Note**: If you are interested in proposing an Official Repository, but would |
|
| 104 |
+> like to discuss it with Docker, Inc. privately first, please send your |
|
| 105 |
+> inquiries to partners@docker.com. There is no fast-track or pay-for-status |
|
| 106 |
+> option. |
| ... | ... |
@@ -51,10 +51,10 @@ private to public. |
| 51 | 51 |
You can also collaborate on Docker Hub with organizations and groups. |
| 52 | 52 |
You can read more about that [here](accounts/). |
| 53 | 53 |
|
| 54 |
-## Official repositories |
|
| 54 |
+## Official Repositories |
|
| 55 | 55 |
|
| 56 |
-The Docker Hub contains a number of [official |
|
| 57 |
-repositories](http://registry.hub.docker.com/official). These are |
|
| 56 |
+The Docker Hub contains a number of [Official |
|
| 57 |
+Repositories](http://registry.hub.docker.com/official). These are |
|
| 58 | 58 |
certified repositories from vendors and contributors to Docker. They |
| 59 | 59 |
contain Docker images from vendors like Canonical, Oracle, and Red Hat |
| 60 | 60 |
that you can use to build applications and services. |
| ... | ... |
@@ -63,9 +63,9 @@ If you use Official Repositories you know you're using a supported, |
| 63 | 63 |
optimized and up-to-date image to power your applications. |
| 64 | 64 |
|
| 65 | 65 |
> **Note:** |
| 66 |
-> If you would like to contribute an official repository for your |
|
| 67 |
-> organization, product or team you can see more information |
|
| 68 |
-> [here](https://github.com/docker/stackbrew). |
|
| 66 |
+> If you would like to contribute an Official Repository for your |
|
| 67 |
+> organization, see [Official Repositories on Docker |
|
| 68 |
+> Hub](/docker-hub/official_repos) for more information. |
|
| 69 | 69 |
|
| 70 | 70 |
## Private repositories |
| 71 | 71 |
|
| ... | ... |
@@ -29,7 +29,7 @@ A Fully Qualified Image Name (FQIN) can be made up of 3 parts: |
| 29 | 29 |
|
| 30 | 30 |
If you create a new repository which you want to share, you will need to |
| 31 | 31 |
set at least the `user_name`, as the `default` blank `user_name` prefix is |
| 32 |
-reserved for official Docker images. |
|
| 32 |
+reserved for [Official Repositories](/docker-hub/official_repos). |
|
| 33 | 33 |
|
| 34 | 34 |
For more information see [*Working with |
| 35 | 35 |
Repositories*](/userguide/dockerrepos/#working-with-the-repository) |
| ... | ... |
@@ -131,11 +131,11 @@ term `sinatra`. |
| 131 | 131 |
We can see we've returned a lot of images that use the term `sinatra`. We've |
| 132 | 132 |
returned a list of image names, descriptions, Stars (which measure the social |
| 133 | 133 |
popularity of images - if a user likes an image then they can "star" it), and |
| 134 |
-the Official and Automated build statuses. Official repositories are built and |
|
| 135 |
-maintained by the [Stackbrew](https://github.com/docker/stackbrew) project, |
|
| 136 |
-and Automated repositories are [Automated Builds]( |
|
| 137 |
-/userguide/dockerrepos/#automated-builds) that allow you to validate the source |
|
| 138 |
-and content of an image. |
|
| 134 |
+the Official and Automated build statuses. |
|
| 135 |
+[Official Repositories](/docker-hub/official_repos) are a carefully curated set |
|
| 136 |
+of Docker repositories supported by Docker, Inc. Automated repositories are |
|
| 137 |
+[Automated Builds](/userguide/dockerrepos/#automated-builds) that allow you to |
|
| 138 |
+validate the source and content of an image. |
|
| 139 | 139 |
|
| 140 | 140 |
We've reviewed the images available to use and we decided to use the |
| 141 | 141 |
`training/sinatra` image. So far we've seen two types of images repositories, |
| ... | ... |
@@ -51,12 +51,12 @@ name, user name, or description: |
| 51 | 51 |
tianon/centos CentOS 5 and 6, created using rinse instea... 21 |
| 52 | 52 |
... |
| 53 | 53 |
|
| 54 |
-There you can see two example results: `centos` and |
|
| 55 |
-`tianon/centos`. The second result shows that it comes from |
|
| 56 |
-the public repository of a user, named `tianon/`, while the first result, |
|
| 57 |
-`centos`, doesn't explicitly list a repository which means that it comes from the |
|
| 58 |
-trusted top-level namespace. The `/` character separates a user's |
|
| 59 |
-repository from the image name. |
|
| 54 |
+There you can see two example results: `centos` and `tianon/centos`. The second |
|
| 55 |
+result shows that it comes from the public repository of a user, named |
|
| 56 |
+`tianon/`, while the first result, `centos`, doesn't explicitly list a |
|
| 57 |
+repository which means that it comes from the trusted top-level namespace for |
|
| 58 |
+[Official Repositories](/docker-hub/official_repos). The `/` character separates |
|
| 59 |
+a user's repository from the image name. |
|
| 60 | 60 |
|
| 61 | 61 |
Once you've found the image you want, you can download it with `docker pull <imagename>`: |
| 62 | 62 |
|