1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/docs/sources/docker-hub-enterprise/userguide.md
Sven Dowideit b0ad95daa8 Copy over the DHE documentation for release to docs.docker.com
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-04-24 12:39:58 +10:00

6 KiB

page_title: Docker Hub Enterprise: User guide page_description: Documentation describing basic use of Docker Hub Enterprise page_keywords: docker, documentation, about, technology, hub, enterprise

Docker Hub Enterprise User's Guide

This guide covers tasks and functions a user of Docker Hub Enterprise (DHE) will need to know about, such as pushing or pulling images, etc. For tasks DHE administrators need to accomplish, such as configuring or monitoring DHE, please visit the Administrator's Guide.

Using DHE to push and pull images

The primary use case for DHE users is to push and pull images to and from the DHE image storage service. The following instructions describe these procedures.

Note

use your command line to docker login <dhe-hostname> (e.g., docker login dhe.yourdomain.com).

Failures due to unauthenticated docker push and docker pull commands will look like :

$ docker pull dhe.yourdomain.com/hello-world
Pulling repository dhe.yourdomain.com/hello-world
FATA[0001] Error: image hello-world:latest not found

$ docker push dhe.yourdomain.com/hello-world
The push refers to a repository [dhe.yourdomain.com/hello-world] (len: 1)
e45a5af57b00: Image push failed
FATA[0001] Error pushing to registry: token auth attempt for registry https://dhe.yourdomain.com/v2/: https://>     dhe.yourdomain.com/auth/v2/token/?scope=repository%3Ahello-world%3Apull%2Cpush&service=dhe.yourdomain.com >     request failed with status: 401 Unauthorized
  1. Pull the hello-world official image from the Docker Hub. By default, if Docker can't find an image locally, it will attempt to pull the image from the Docker Hub.

    $ docker pull hello-world

  2. List your available images.

     $ docker images
     REPOSITORY     TAG     IMAGE ID      CREATED       VIRTUAL SIZE
     hello-world    latest  e45a5af57b00  3 months ago  910 B
    

    Your list should include the hello-world image from the earlier run.

  3. Re-tag the hello-world image so that it refers to your DHE server.

    $ docker tag hello-world:latest dhe.yourdomain.com/demouser/hello-mine:latest

    The command labels a hello-world:latest image using a new tag in the [REGISTRYHOST/][USERNAME/]NAME[:TAG] format. The REGISTRYHOST in this case is the DHE server, dhe.yourdomain.com, and the USERNAME is demouser.

  4. List your new image.

     $ docker images
     REPOSITORY                           TAG     IMAGE ID      CREATED       VIRTUAL SIZE
     hello-world                          latest  e45a5af57b00  3 months ago  910 B
     dhe.yourdomain.com/demouser/hello-mine  latest  e45a5af57b00  3 months ago  910 B
    

    You should see your new image label in the listing, with the same IMAGE ID as the Official image.

  5. Push this new image to your DHE server.

    $ docker push dhe.yourdomain.com/demouser/hello-mine:latest

  6. Set up a test of DHE by removing all images from your local environment:

    $ docker rmi -f $(docker images -q -a)

    This command is for illustrative purposes only: removing the image forces any subsequent run to pull from a remote registry (such as DHE) rather than from a local cache. If you run docker images after this you should not see any instance of hello-world or hello-mine in your images list.

     $ docker images
     REPOSITORY      TAG      IMAGE ID      CREATED       VIRTUAL SIZE
    
  7. Try running hello-mine.

     $ docker run hello-mine
     Unable to find image 'hello-mine:latest' locally
     Pulling repository hello-mine
     FATA[0007] Error: image library/hello-mine:latest not found
    

    The run command fails because your new image doesn't exist on the Docker Hub.

  8. Run hello-mine again, this time pointing it to pull from DHE:

     $ docker run dhe.yourdomain.com/demouser/hello-mine
     latest: Pulling from dhe.yourdomain.com/demouser/hello-mine
     511136ea3c5a: Pull complete
     31cbccb51277: Pull complete
     e45a5af57b00: Already exists
     Digest: sha256:45f0de377f861694517a1440c74aa32eecc3295ea803261d62f950b1b757bed1
     Status: Downloaded newer image for dhe.yourdomain.com/demouser/hello-mine:latest
    

    If you run docker images after this you'll see a hello-mine image.

     $ docker images
     REPOSITORY                           TAG     IMAGE ID      CREATED       VIRTUAL SIZE
     dhe.yourdomain.com/demouser/hello-mine  latest  e45a5af57b00  3 months ago  910 B
    

Note

: If the Docker daemon on which you are running docker push doesn't have the right certificates set up, you will get an error similar to:

$ docker push dhe.yourdomain.com/demouser/hello-world
FATA[0000] Error response from daemon: v1 ping attempt failed with error: Get https://dhe.yourdomain.com/v1/_ping: x509: certificate signed by unknown authority. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry dhe.yourdomain.com` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/dhe.yourdomain.com/ca.crt
  1. You have now successfully created a custom image, hello-mine, tagged it, and pushed it to the image storage provided by your DHE instance. You then pulled that image back down from DHE and onto your machine, where you can use it to create a container containing the "Hello World" application..

Next Steps

For information on administering DHE, take a look at the Administrator's Guide.