github.com/slene/docker@v1.8.0-rc1/docs/userguide/dockerrepos.md (about)

     1  <!--[metadata]>
     2  +++
     3  title = "Get started with Docker Hub"
     4  description = "Learn how to use the Docker Hub to manage Docker images and work flow"
     5  keywords = ["repo, Docker Hub, Docker Hub, registry, index, repositories, usage, pull image, push image, image,  documentation"]
     6  [menu.main]
     7  parent = "smn_images"
     8  weight = 2
     9  +++
    10  <![end-metadata]-->
    11  
    12  # Get started with Docker Hub
    13  
    14  So far you've learned how to use the command line to run Docker on your local host.
    15  You've learned how to [pull down images](/userguide/usingdocker/) to build containers
    16  from existing images and you've learned how to [create your own images](/userguide/dockerimages).
    17  
    18  Next, you're going to learn how to use the [Docker Hub](https://hub.docker.com) to
    19  simplify and enhance your Docker workflows.
    20  
    21  The [Docker Hub](https://hub.docker.com) is a public registry maintained by Docker,
    22  Inc. It contains over 15,000 images you can download and use to build containers. It also
    23  provides authentication, work group structure, workflow tools like webhooks and build
    24  triggers, and privacy tools like private repositories for storing images you don't want
    25  to share publicly.
    26  
    27  ## Docker commands and Docker Hub
    28  
    29  Docker itself provides access to Docker Hub services via the `docker search`,
    30  `pull`, `login`, and `push` commands. This page will show you how these commands work.
    31  
    32  ### Account creation and login
    33  Typically, you'll want to start by creating an account on Docker Hub (if you haven't
    34  already) and logging in. You can create your account directly on
    35  [Docker Hub](https://hub.docker.com/account/signup/), or by running:
    36  
    37      $ docker login
    38  
    39  This will prompt you for a user name, which will become the public namespace for your
    40  public repositories.
    41  If your user name is available, Docker will prompt you to enter a password and your
    42  e-mail address. It will then automatically log you in. You can now commit and
    43  push your own images up to your repos on Docker Hub.
    44  
    45  > **Note:**
    46  > Your authentication credentials will be stored in the `~/.docker/config.json`
    47  > authentication file in your home directory.
    48  
    49  ## Searching for images
    50  
    51  You can search the [Docker Hub](https://hub.docker.com) registry via its search
    52  interface or by using the command line interface. Searching can find images by image
    53  name, user name, or description:
    54  
    55      $ docker search centos
    56      NAME           DESCRIPTION                                     STARS     OFFICIAL   TRUSTED
    57      centos         Official CentOS 6 Image as of 12 April 2014     88
    58      tianon/centos  CentOS 5 and 6, created using rinse instea...   21
    59      ...
    60  
    61  There you can see two example results: `centos` and `tianon/centos`. The second
    62  result shows that it comes from the public repository of a user, named
    63  `tianon/`, while the first result, `centos`, doesn't explicitly list a
    64  repository which means that it comes from the trusted top-level namespace for
    65  [Official Repositories](/docker-hub/official_repos). The `/` character separates
    66  a user's repository from the image name.
    67  
    68  Once you've found the image you want, you can download it with `docker pull <imagename>`:
    69  
    70      $ docker pull centos
    71      Pulling repository centos
    72      0b443ba03958: Download complete
    73      539c0211cd76: Download complete
    74      511136ea3c5a: Download complete
    75      7064731afe90: Download complete
    76  
    77      Status: Downloaded newer image for centos
    78  
    79  You now have an image from which you can run containers.
    80  
    81  ## Contributing to Docker Hub
    82  
    83  Anyone can pull public images from the [Docker Hub](https://hub.docker.com)
    84  registry, but if you would like to share your own images, then you must
    85  register first, as we saw in the [first section of the Docker User
    86  Guide](/userguide/dockerhub/).
    87  
    88  ## Pushing a repository to Docker Hub
    89  
    90  In order to push a repository to its registry, you need to have named an image
    91  or committed your container to a named image as we saw
    92  [here](/userguide/dockerimages).
    93  
    94  Now you can push this repository to the registry designated by its name or tag.
    95  
    96      $ docker push yourname/newimage
    97  
    98  The image will then be uploaded and available for use by your team-mates and/or the
    99  community.
   100  
   101  ## Features of Docker Hub
   102  
   103  Let's take a closer look at some of the features of Docker Hub. You can find more
   104  information [here](https://docs.docker.com/docker-hub/).
   105  
   106  * Private repositories
   107  * Organizations and teams
   108  * Automated Builds
   109  * Webhooks
   110  
   111  ### Private repositories
   112  
   113  Sometimes you have images you don't want to make public and share with
   114  everyone. So Docker Hub allows you to have private repositories. You can
   115  sign up for a plan [here](https://registry.hub.docker.com/plans/).
   116  
   117  ### Organizations and teams
   118  
   119  One of the useful aspects of private repositories is that you can share
   120  them only with members of your organization or team. Docker Hub lets you
   121  create organizations where you can collaborate with your colleagues and
   122  manage private repositories. You can learn how to create and manage an organization
   123  [here](https://registry.hub.docker.com/account/organizations/).
   124  
   125  ### Automated Builds
   126  
   127  Automated Builds automate the building and updating of images from
   128  [GitHub](https://www.github.com) or [Bitbucket](http://bitbucket.com), directly on Docker
   129  Hub. It works by adding a commit hook to your selected GitHub or Bitbucket repository,
   130  triggering a build and update when you push a commit.
   131  
   132  #### To setup an Automated Build
   133  
   134  1.  Create a [Docker Hub account](https://hub.docker.com/) and login.
   135  2.  Link your GitHub or Bitbucket account through the ["Link Accounts"](https://registry.hub.docker.com/account/accounts/) menu.
   136  3.  [Configure an Automated Build](https://registry.hub.docker.com/builds/add/).
   137  4.  Pick a GitHub or Bitbucket project that has a `Dockerfile` that you want to build.
   138  5.  Pick the branch you want to build (the default is the `master` branch).
   139  6.  Give the Automated Build a name.
   140  7.  Assign an optional Docker tag to the Build.
   141  8.  Specify where the `Dockerfile` is located. The default is `/`.
   142  
   143  Once the Automated Build is configured it will automatically trigger a
   144  build and, in a few minutes, you should see your new Automated Build on the [Docker Hub](https://hub.docker.com)
   145  Registry. It will stay in sync with your GitHub and Bitbucket repository until you
   146  deactivate the Automated Build.
   147  
   148  To check the output and status of your Automated Build repositories, click on a repository name within the ["Your Repositories" page](https://registry.hub.docker.com/repos/). Automated Builds are indicated by a check-mark icon next to the repository name. Within the repository details page, you may click on the "Build Details" tab to view the status and output of all builds triggered by the Docker Hub.
   149  
   150  Once you've created an Automated Build you can deactivate or delete it. You
   151  cannot, however, push to an Automated Build with the `docker push` command.
   152  You can only manage it by committing code to your GitHub or Bitbucket
   153  repository.
   154  
   155  You can create multiple Automated Builds per repository and configure them
   156  to point to specific `Dockerfile`'s or Git branches.
   157  
   158  #### Build triggers
   159  
   160  Automated Builds can also be triggered via a URL on Docker Hub. This
   161  allows you to rebuild an Automated build image on demand.
   162  
   163  ### Webhooks
   164  
   165  Webhooks are attached to your repositories and allow you to trigger an
   166  event when an image or updated image is pushed to the repository. With
   167  a webhook you can specify a target URL and a JSON payload that will be
   168  delivered when the image is pushed.
   169  
   170  See the Docker Hub documentation for [more information on
   171  webhooks](https://docs.docker.com/docker-hub/repos/#webhooks)
   172  
   173  ## Next steps
   174  
   175  Go and use Docker!