Skip to content

docker pull queries for all repository images and tags #10563

@danp

Description

@danp

Description of problem:

When I docker pull example.org/fooo/barr:bazz, I would expect the registry to receive a request at, say:

/v1/repositories/fooo/barr/tags/bazz

Instead these endpoints are hit:

/v1/repositories/fooo/barr/images
/v1/repositories/fooo/barr/tags

If the repository has a large number of images and/or tags, this causes much more work for the registry, the network, and the client than should be necessary.

docker version:

Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): darwin/amd64
Server version: 1.4.1
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8

docker info:

Containers: 41
Images: 579
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Dirs: 661
Execution Driver: native-0.2
Kernel Version: 3.16.7-tinycore64
Operating System: Boot2Docker 1.4.1 (TCL 5.4); master : 86f7ec8 - Tue Dec 16 23:11:29 UTC 2014
CPUs: 4
Total Memory: 1.961 GiB
Name: boot2docker
ID: RWCD:HRLO:LBEH:E6M7:S35X:LPNQ:FQFU:2HGZ:F77R:H6PF:MEVM:LD2F
Debug mode (server): true
Debug mode (client): false
Fds: 11
Goroutines: 13
EventsListeners: 0
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker

uname -a:

Darwin lemonade.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64

Environment details (AWS, VirtualBox, physical, etc.):

  • boot2docker

How reproducible:

Very, I think.

Steps to Reproduce:

  1. Have a private registry?
  2. docker pull example.org/fooo/barr:bazz

Actual Results:

Index endpoints are hit.

Expected Results:

Specific endpoints are hit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    exp/expertkind/enhancementEnhancements are not bugs or new features but can improve usability or performance.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions