docker-registry-frontend icon indicating copy to clipboard operation
docker-registry-frontend copied to clipboard

Problems handling docker images with path deeper than one directory

Open othews opened this issue 8 years ago • 8 comments

docker-registry-frontend cannot handle docker images added to the registry which have a deeper path than one directory. selecting a image with deeper path won't show tags, but will be redirected to the frontend home directory

{
 "repositories":
   [
   "anaconda/cijenkinsnode",
   "centos",
   "dbcompiler/ci/oraclejava",
   "dbcompiler/cijenkins",
   "dbcompiler/cijenkinsnode", 
   "dbcompiler/cioraclejava",
   "dep/jenkins/r2d2",
   "layer/dmc",
   "ci_buildenv",
   "phusion/baseimage",
   "ubuntu"
   ]
}

Examples:

  • images without issue:
    • centos, ci_buildenv, ubuntu,
    • dbcompiler/cioraclejava, phusion/baseimage ...
  • images whcih cannot be viewed correct in the web interface:
    • dbcompiler**/ci/**oraclejava
    • dep**/jenkins/**r2d2

Expected behavior is to be able to walk through the path to get the tags shown on the web page.

At the moment we are running Docker 1.12.0 on RHEL 7.2 with docker-registry-frontend:v2

othews avatar Aug 17 '16 07:08 othews

@othews you're right, currently this is not supported. To cite the registry API referenc:

Classically, repository names have always been two path components where each path component is less than 30 characters. The V2 registry API does not enforce this. The rules for a repository name are as follows:

  1. A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.
  2. If a repository name has two or more path components, they must be separated by a forward slash (“/”).
  3. The total length of a repository name, including slashes, must be less the 256 characters.

kwk avatar Aug 17 '16 10:08 kwk

+1 on this. Sonatype Nexus 3 implements Docker v1, v2 APIs and does not restrict repos to [group]/[name] path.

I would like to have repos with name like
upstream/[group]/[name]

and docker-registry-frontend does not support it.

huksley avatar Nov 20 '16 16:11 huksley

It seams that docker registry api support multi-slash

curl -k https://registry:5000/v2/xxx/beta/ubuntu/tags/list {"name":"xxx/beta/ubuntu","tags":["0.10.0"]}

qianglchina avatar Jan 10 '17 07:01 qianglchina

+1 on this. would be nice, if this issue could be resolved

MartinPyka avatar Jan 24 '17 20:01 MartinPyka

+1

antonbasic avatar Feb 22 '17 09:02 antonbasic

+1

stayfrostnl avatar Jun 01 '17 11:06 stayfrostnl

+1

gbulicanu avatar Jul 02 '17 00:07 gbulicanu

+1

nabbar avatar Jul 19 '17 18:07 nabbar