Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CONTAINERS-TRANSPORTS(5)	       Man		CONTAINERS-TRANSPORTS(5)

Valentin Rothberg April 2019

NAME
     containers-transports - description of supported transports for copying and
     storing container images

DESCRIPTION
     Tools  which  use	the containers/image library, including skopeo(1), buil-
     dah(1), podman(1), all share a common syntax for referring to container im-
     ages in various locations.  The general form of the syntax is transport:de-
     tails, where details are dependent on the specified  transport,  which  are
     documented below.

     The semantics of the image names ultimately depend on the environment where
     they  are	evaluated.  For  example: if evaluated on a remote server, image
     names might refer to paths on that server; relative paths are  relative  to
     the current directory of the image consumer.

   containers-storage:[[storage-specifier]]{image-id|docker-reference[@image-
     id]}
     An  image located in a local containers storage.  The format of docker-ref-
     erence is described in detail in the docker transport.

     The storage-specifier allows for referencing storage locations on the  file
     system  and  has  the format [[driver@]root[+run-root][:options]] where the
     optional driver refers to the storage driver (e.g., overlay or  btrfs)  and
     where  root  is  an absolute path to the storage's root directory.  The op-
     tional run-root can be used to specify the run  directory	of  the  storage
     where all temporary writable content is stored.  The optional options are a
     comma-separated  list of driver-specific options.	Please refer to contain-
     ers-storage.conf(5) for further information on the  drivers  and  supported
     options.

   dir:path
     An  existing  local directory path storing the manifest, layer tarballs and
     signatures as individual files.  This is a non-standardized format, primar-
     ily useful for debugging or noninvasive container inspection.

   docker://docker-reference
     An image in a registry implementing the "Docker Registry HTTP API V2".   By
     default,	uses   the   authorization  state  in  $XDG_RUNTIME_DIR/contain-
     ers/auth.json, which is set using podman-login(1).   If  the  authorization
     state  is	not  found there, $HOME/.docker/config.json is checked, which is
     set using docker-login(1).  The containers-registries.conf(5)  further  al-
     lows for configuring various settings of a registry.

     Note  that  a  docker-reference  has the following format: name[:tag | @di-
     gest].  While the docker transport does not support both a tag and a digest
     at the same time some formats like containers-storage do.	Digests can also
     be used in an image destination as long as the manifest  matches  the  pro-
     vided digest.

     The  docker  transport supports pushing images without a tag or digest to a
     registry when the image  name  is	suffixed  with	@@unknown-digest@@.  The
     name@@unknown-digest@@  reference	format	cannot	be used with a reference
     that has a tag or digest.	The  digest  of  images  can  be  explored  with
     skopeo-inspect(1).

     If  name does not contain a slash, it is treated as docker.io/library/name.
     Otherwise, the component before the first slash is checked if it is  recog-
     nized as a hostname <i.e., it contains either a `.` or a `:`, or the compo-
     nent is exactly `localhost`>.  If the first component of name is not recog-
     nized as a hostname[:port], name is treated as docker.io/name.

   docker-archive:path[:{docker-reference|@source-index}]
     An image is stored in the docker-save(1) formatted file.

     Unless  a tool explicitly documents otherwise, a write to a docker-archive:
     destination completely overwrites path, replacing it with the  single  pro-
     vided image.

     The path can refer to a stream, e.g. docker-archive:/dev/stdin.

     docker-reference  must  not  contain  a digest.  Alternatively, for reading
     archives, @source-index is a zero-based index in archive manifest	(to  ac-
     cess  untagged  images).  If neither docker-reference nor @_source_index is
     specified when reading an archive, the archive must contain exactly one im-
     age.

   docker-daemon:docker-reference|algo:digest
     An image stored in the docker daemon's internal storage.  The image must be
     specified as a docker-reference or in  an	alternative  algo:digest  format
     when being used as an image source.  The algo:digest refers to the image ID
     reported by docker-inspect(1).

   oci:path[:{reference|@source-index}]
     An  image in a directory structure compliant with the "Open Container Image
     Layout Specification" at path.

     The path value terminates at the first : character; any further  :  charac-
     ters are not separators, but a part of reference.	The reference is used to
     set, or match, the org.opencontainers.image.ref.name annotation in the top-
     level  index.   For  reading images, @source-index is a zero-based index in
     manifest  (to  access  untagged  images).	  If   neither	 reference   nor
     @_source_index  is  specified  when reading an image, the path must contain
     exactly one image.

   oci-archive:path[:reference]
     An image in a tar(1) archive with contents compliant with	the  "Open  Con-
     tainer Image Layout Specification" at path.

     Unless  a	tool  explicitly documents otherwise, a write to an oci-archive:
     destination completely overwrites path, replacing it with the  single  pro-
     vided image.

     The  path	value terminates at the first : character; any further : charac-
     ters are not separators, but a part of reference.	The reference is used to
     set, or match, the org.opencontainers.image.ref.name annotation in the top-
     level index.  If reference is not specified when reading  an  archive,  the
     archive must contain exactly one image.

   sif:path
     An image using the Singularity image format at path.

     Only reading images is supported, and not all scripts can be represented in
     the OCI format.

Examples
     The  following  examples  demonstrate how some of the containers transports
     can be used.  The examples use skopeo-copy(1) for copying container images.

     Copying an image from one registry to another:

     $ skopeo copy docker://docker.io/library/alpine:latest docker://localhost:5000/alpine:latest

     Copying an image from a running Docker daemon to a  directory  in	the  OCI
     layout:

     $ mkdir alpine-oci
     $ skopeo copy docker-daemon:alpine:latest oci:alpine-oci
     $ tree alpine-oci
     test-oci/
     aaa blobs
     aA A  aaa sha256
     aA A      aaa 83ef92b73cf4595aa7fe214ec6747228283d585f373d8f6bc08d66bebab531b7
     aA A      aaa 9a6259e911dcd0a53535a25a9760ad8f2eded3528e0ad5604c4488624795cecc
     aA A      aaa ff8df268d29ccbe81cdf0a173076dcfbbea4bb2b6df1dd26766a73cb7b4ae6f7
     aaa index.json
     aaa oci-layout

     2 directories, 5 files

     Copying an image from a registry to the local storage:

     $ skopeo copy docker://docker.io/library/alpine:latest containers-storage:alpine:latest

SEE ALSO
     docker-login(1),  docker-save(1),	podman-login(1), skopeo-copy(1), skopeo-
     inspect(1),    tar(1),    container-registries.conf(5),	containers-stor-
     age.conf(5)

AUTHORS
     Miloslav  TrmaA  mitr@redhat.com <mailto:mitr@redhat.com> Valentin Rothberg
     rothberg@redhat.com <mailto:rothberg@redhat.com>

Transports			   Containers		CONTAINERS-TRANSPORTS(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=containers-transports&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help