зеркало из https://github.com/microsoft/docker.git
Merge pull request #6581 from fredlf/copyedit_dockerrepo
Revised and fixed links on dockerrepo.md
This commit is contained in:
Коммит
ad19e5e133
|
@ -1,37 +1,49 @@
|
|||
page_title: Working with Docker Hub
|
||||
page_description: Learning how to use Docker Hub to manage images and work flow
|
||||
page_description: Learn how to use the Docker Hub to manage Docker images and work flow
|
||||
page_keywords: repo, Docker Hub, Docker Hub, registry, index, repositories, usage, pull image, push image, image, documentation
|
||||
|
||||
# Working with Docker Hub
|
||||
|
||||
So far we've seen a lot about how to use Docker on the command line and
|
||||
your local host. We've seen [how to pull down
|
||||
images](/userguide/usingdocker/) that you can run your containers from
|
||||
and we've seen how to [create your own images](/userguide/dockerimages).
|
||||
So far you've learned how to use the command line to run Docker on your local host.
|
||||
You've learned how to [pull down images](/userguide/usingdocker/) to build containers
|
||||
from existing images and you've learned how to [create your own images](/userguide/dockerimages).
|
||||
|
||||
Now we're going to learn a bit more about
|
||||
[Docker Hub](https://hub.docker.com) and how you can use it to enhance
|
||||
your Docker work flows.
|
||||
Next, you're going to learn how to use the [Docker Hub](https://hub.docker.com) to
|
||||
simplify and enhance your Docker workflows.
|
||||
|
||||
[Docker Hub](https://hub.docker.com) is the public registry that Docker
|
||||
Inc maintains. It contains a huge collection of images, over 15,000,
|
||||
that you can download and use to build your containers. It also provides
|
||||
authentication, structure (you can setup teams and organizations), work
|
||||
flow tools like webhooks and build triggers as well as privacy features
|
||||
like private repositories for storing images you don't want to publicly
|
||||
share.
|
||||
The [Docker Hub](https://hub.docker.com) is a public registry maintained by Docker,
|
||||
Inc. It contains over 15,000 images you can download and use to build containers. It also
|
||||
provides authentication, work group structure, workflow tools like webhooks and build
|
||||
triggers, and privacy tools like private repositories for storing images you don't want
|
||||
to share publicly.
|
||||
|
||||
## Docker commands and Docker Hub
|
||||
|
||||
Docker acts as a client for these services via the `docker search`,
|
||||
`pull`, `login` and `push` commands.
|
||||
Docker itself provides access to Docker Hub services via the `docker search`,
|
||||
`pull`, `login`, and `push` commands. This page will show you how these commands work.
|
||||
|
||||
### Account creation and login
|
||||
Typically, you'll want to start by creating an account on Docker Hub (if you haven't
|
||||
already) and logging in. You can create your account directly on
|
||||
[Docker Hub](https://hub.docker.com/account/signup/), or by running:
|
||||
|
||||
$ sudo docker login
|
||||
|
||||
This will prompt you for a user name, which will become the public namespace for your
|
||||
public repositories.
|
||||
If your user name is available, Docker will prompt you to enter a password and your
|
||||
e-mail address. It will then automatically log you in. You can now commit and
|
||||
push your own images up to your repos on Docker Hub.
|
||||
|
||||
> **Note:**
|
||||
> Your authentication credentials will be stored in the [`.dockercfg`
|
||||
> authentication file](#authentication-file) in your home directory.
|
||||
|
||||
## Searching for images
|
||||
|
||||
As we've already seen we can search the
|
||||
[Docker Hub](https://hub.docker.com) registry via it's search interface
|
||||
or using the command line interface. Searching can find images by name,
|
||||
user name or description:
|
||||
You can search the [Docker Hub](https://hub.docker.com) registry via its search
|
||||
interface or by using the command line interface. Searching can find images by image
|
||||
name, user name, or description:
|
||||
|
||||
$ sudo docker search centos
|
||||
NAME DESCRIPTION STARS OFFICIAL TRUSTED
|
||||
|
@ -41,12 +53,12 @@ user name or description:
|
|||
|
||||
There you can see two example results: `centos` and
|
||||
`tianon/centos`. The second result shows that it comes from
|
||||
the public repository of a user, `tianon/`, while the first result,
|
||||
`centos`, doesn't explicitly list a repository so it comes from the
|
||||
the public repository of a user, named `tianon/`, while the first result,
|
||||
`centos`, doesn't explicitly list a repository which means that it comes from the
|
||||
trusted top-level namespace. The `/` character separates a user's
|
||||
repository and the image name.
|
||||
repository from the image name.
|
||||
|
||||
Once you have found the image you want, you can download it:
|
||||
Once you've found the image you want, you can download it with `docker pull <imagename>`:
|
||||
|
||||
$ sudo docker pull centos
|
||||
Pulling repository centos
|
||||
|
@ -55,84 +67,63 @@ Once you have found the image you want, you can download it:
|
|||
511136ea3c5a: Download complete
|
||||
7064731afe90: Download complete
|
||||
|
||||
The image is now available to run a container from.
|
||||
You now have an image from which you can run containers.
|
||||
|
||||
## Contributing to Docker Hub
|
||||
|
||||
Anyone can pull public images from the [Docker Hub](https://hub.docker.com)
|
||||
registry, but if you would like to share your own images, then you must
|
||||
register a user first as we saw in the [first section of the Docker User
|
||||
register first, as we saw in the [first section of the Docker User
|
||||
Guide](/userguide/dockerhub/).
|
||||
|
||||
To refresh your memory, you can create your user name and login to
|
||||
[Docker Hub](https://hub.docker.com/account/signup/), or by running:
|
||||
|
||||
$ sudo docker login
|
||||
|
||||
This will prompt you for a user name, which will become a public
|
||||
namespace for your public repositories, for example:
|
||||
|
||||
training/webapp
|
||||
|
||||
Here `training` is the user name and `webapp` is a repository owned by
|
||||
that user.
|
||||
|
||||
If your user name is available then `docker` will also prompt you to
|
||||
enter a password and your e-mail address. It will then automatically log
|
||||
you in. Now you're ready to commit and push your own images!
|
||||
|
||||
> **Note:**
|
||||
> Your authentication credentials will be stored in the [`.dockercfg`
|
||||
> authentication file](#authentication-file) in your home directory.
|
||||
|
||||
## Pushing a repository to Docker Hub
|
||||
|
||||
In order to push an repository to its registry you need to have named an image,
|
||||
In order to push a repository to its registry, you need to have named an image
|
||||
or committed your container to a named image as we saw
|
||||
[here](/userguide/dockerimages).
|
||||
|
||||
Now you can push this repository to the registry designated by its name
|
||||
or tag.
|
||||
Now you can push this repository to the registry designated by its name or tag.
|
||||
|
||||
$ sudo docker push yourname/newimage
|
||||
|
||||
The image will then be uploaded and available for use.
|
||||
The image will then be uploaded and available for use by your team-mates and/or the
|
||||
community.
|
||||
|
||||
## Features of Docker Hub
|
||||
|
||||
Now let's look at some of the features of Docker Hub. You can find more
|
||||
information [here](/docker-io/).
|
||||
Let's take a closer look at some of the features of Docker Hub. You can find more
|
||||
information [here](http://docs.docker.com/docker-hub/).
|
||||
|
||||
* Private repositories
|
||||
* Organizations and teams
|
||||
* Automated Builds
|
||||
* Webhooks
|
||||
|
||||
## Private Repositories
|
||||
### Private Repositories
|
||||
|
||||
Sometimes you have images you don't want to make public and share with
|
||||
everyone. So Docker Hub allows you to have private repositories. You can
|
||||
sign up for a plan [here](https://registry.hub.docker.com/plans/).
|
||||
|
||||
## Organizations and teams
|
||||
### Organizations and teams
|
||||
|
||||
One of the useful aspects of private repositories is that you can share
|
||||
them only with members of your organization or team. Docker Hub lets you
|
||||
create organizations where you can collaborate with your colleagues and
|
||||
manage private repositories. You can create and manage an organization
|
||||
manage private repositories. You can learn how to create and manage an organization
|
||||
[here](https://registry.hub.docker.com/account/organizations/).
|
||||
|
||||
## Automated Builds
|
||||
### Automated Builds
|
||||
|
||||
Automated Builds automate the building and updating of images from [GitHub](https://www.github.com)
|
||||
or [BitBucket](http://bitbucket.com), directly on Docker Hub. It works by adding a commit hook to
|
||||
your selected GitHub or BitBucket repository, triggering a build and update when you push a
|
||||
commit.
|
||||
Automated Builds automate the building and updating of images from
|
||||
[GitHub](https://www.github.com) or [BitBucket](http://bitbucket.com), directly on Docker
|
||||
Hub. It works by adding a commit hook to your selected GitHub or BitBucket repository,
|
||||
triggering a build and update when you push a commit.
|
||||
|
||||
### To setup an Automated Build
|
||||
#### To setup an Automated Build
|
||||
|
||||
1. Create a [Docker Hub account](https://hub.docker.com/) and login.
|
||||
2. Link your GitHub or BitBucket account through the [`Link Accounts`](https://registry.hub.docker.com/account/accounts/) menu.
|
||||
2. Link your GitHub or BitBucket account through the ["Link Accounts"](https://registry.hub.docker.com/account/accounts/) menu.
|
||||
3. [Configure an Automated Build](https://registry.hub.docker.com/builds/).
|
||||
4. Pick a GitHub or BitBucket project that has a `Dockerfile` that you want to build.
|
||||
5. Pick the branch you want to build (the default is the `master` branch).
|
||||
|
@ -141,33 +132,32 @@ commit.
|
|||
8. Specify where the `Dockerfile` is located. The default is `/`.
|
||||
|
||||
Once the Automated Build is configured it will automatically trigger a
|
||||
build, and in a few minutes, if there are no errors, you will see your
|
||||
new Automated Build on the [Docker Hub](https://hub.docker.com) Registry.
|
||||
It will stay in sync with your GitHub and BitBucket repository until you
|
||||
build and, in a few minutes, you should see your new Automated Build on the [Docker Hub](https://hub.docker.com)
|
||||
Registry. It will stay in sync with your GitHub and BitBucket repository until you
|
||||
deactivate the Automated Build.
|
||||
|
||||
If you want to see the status of your Automated Builds you can go to your
|
||||
If you want to see the status of your Automated Builds, you can go to your
|
||||
[Automated Builds page](https://registry.hub.docker.com/builds/) on the Docker Hub,
|
||||
and it will show you the status of your builds, and the build history.
|
||||
and it will show you the status of your builds and their build history.
|
||||
|
||||
Once you've created an Automated Build you can deactivate or delete it. You
|
||||
cannot however push to an Automated Build with the `docker push` command.
|
||||
cannot, however, push to an Automated Build with the `docker push` command.
|
||||
You can only manage it by committing code to your GitHub or BitBucket
|
||||
repository.
|
||||
|
||||
You can create multiple Automated Builds per repository and configure them
|
||||
to point to specific `Dockerfile`'s or Git branches.
|
||||
|
||||
### Build Triggers
|
||||
#### Build Triggers
|
||||
|
||||
Automated Builds can also be triggered via a URL on Docker Hub. This
|
||||
allows you to rebuild an Automated build image on demand.
|
||||
|
||||
## Webhooks
|
||||
### Webhooks
|
||||
|
||||
Webhooks are attached to your repositories and allow you to trigger an
|
||||
event when an image or updated image is pushed to the repository. With
|
||||
a webhook you can specify a target URL and a JSON payload will be
|
||||
a webhook you can specify a target URL and a JSON payload that will be
|
||||
delivered when the image is pushed.
|
||||
|
||||
## Next steps
|
||||
|
|
Загрузка…
Ссылка в новой задаче