Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

Docker URL for a specific feed



  • I have two main docker feeds setup. One called "application-prerelease" and one called "application".

    My initial builds go into the "application-prerelease" feed, then the good ones get promoted to the "application" feed.

    I am setting up integration to this with a third party tool and it wants the URL of the Feed.

    I tried giving it https://myproget.mydomain.net/application-prerelease/ but it said:

    Feed endpoint https://myproget.mydomain.net/application-prerelease/ does not appear to expose a valid Docker API. The url was tested against the v1 (https://myproget.mydomain.net/application-prerelease/v1) and v2 (https://myproget.mydomain.net/application-prerelease/v2) endpoints and both failed. Please check the uri and the feed provider, and try again. Read http://g.octopushq.com/DockerRegistries for more details.

    I also tried using the base url of my proget server (https://myproget.mydomain.net) and it did not have any errors. But that url has ALL of the container images from all my feeds (application, application-prerelease, and others). (Which makes sense, because it is the root URL.)

    How can I get a URL that will only have the containers of a single feed in it?


  • inedo-engineer

    Hi @Stephen-Schaff,

    Docker is pretty wonky, and technically doesn't support multiple registries per host. 🙄

    A Docker Registry is tied to a host (like myproget.mydomain.net), not a URL. A Docker Registry's catalog API endpoint is always «host-name»/v2/_catalog, but I guess your third-party tool isn't so particular, and does a basic concatenation against the field.

    This silly implementation makes no sense for ProGet -- so we just work-around that by requiring a "Namespace" on your Docker Registries that starts with the feed name.

    So technically, you have a Docker Registry at «host-name» that hosts a bunch of Docker Repositories named «feed-name»/«repo-name». I'm afraid your only option here is to do what Docker wants you to -- which is create a user with restricted permissions to the containers you want.



  • OK. That aligns with what I was seeing.

    Thanks for explaining it to me! 🙂


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation