oci-references
On this page
Description
The command line client supports a special notation scheme for specifying references to instances of oci like registries. This allows for specifying references to any registry supported by the OCM toolset that can host OCI artifacts. As a subset the regular OCI artifact notation used for docker images are possible:
[+][<type>::][./][<file path>//<repository>[:<tag>][@<digest>]
or
[+][<type>::][<json repo spec>//]<repository>[:<tag>][@<digest>]
Notice that if you specify the <type> in the beginning of this notation AND in the <json repo spec>, the types have to match (but there is no reason to specify the type in both places).
or
[+][<type>::][<scheme>://]<domain>[:<port>][/]/<repository>[:<tag>][@<digest>]
Notice that this notation optionally also allows a double slash to separate <domain>[:<port>] and <repository>. While it is not necessary for unambiguous parsing here, it is supported for consistency with the other notations.
or
[+][<type>::][<scheme>://]<host>:<port>/<repository>[:<tag>][@<digest>]
Notice that <port> is required in this notation. Without <port>, this notation would be ambiguous with the docker library notation mentioned below.
or
[+][<type>::][<scheme>://]<host>[:<port>]//<repository>[:<tag>][@<digest>]
Notice the double slash (//) before the <repository>. This serves as a clear separator between <host>[:<port>] and <repository>. Thus, with this notation, the port is optional and can therefore be omitted without creating ambiguity with the docker library notation mentioned below.
or
<docker library>[:<tag>][@<digest>]
or
<docker repository>/<docker image>[:<tag>][@<digest>]
Besides dedicated artifacts it is also possible to denote registries as a whole:
[+][<type>::][./]<file path>
or
[+][<type>::]<json repo spec>
Notice that if you specify the <type> in the beginning of this notation AND in the <json repo spec>, the types have to match (but there is no reason to specify the type in both places).
or
[+][<type>::][<scheme>://]<domain>[:<port>]
or
[+][<type>::][<scheme>://]<host>[:<port>]
Notice that <port> is optional in this notation since this cannot be an image reference and therefore cannot be ambiguous with the docker library notation.
The optional +
is used for file based implementations
(Common Transport Format) to indicate the creation of a not yet existing
file.
The type may contain a file format qualifier separated by a +
character. The following formats are supported: directory
, tar
, tgz