← Back to context

Comment by jacques_chester

6 years ago

Docker is partly to blame for its own predicament by conflating URIs with URNs. When you give an image reference as `foo/bar`, the implicit actual name is `index.docker.io/foo/bar`.

That means that "which image" is mixed with "where the image is". You can't deal with them separately. Because everyone uses the shorthand, Docker gets absolutely pummeled. Meanwhile in Java-land, private Maven repos are as ordinary as dirt and a well-smoothed path.

It's time for a v3 of the Registry API, to break this accidental nexus and allow purely content-addressed references.

> the implicit actual name is `index.docker.io/foo/bar`

`index.docker.io/foo/bar:latest` to be more exact, which is a URL, but not really a URI if we're being pedantic.

Docker doesn't really provide an interface to address images by URI (which would be more like the SHA), though in practice, tags other than latest should function closer to a URI

The second issue, is they purposefully do not allow you to change the default domain to point to. The only thing you can do it use a pull through a proxy.