1CONTAINERS-TRANSPORTS(5)(Containers) Page CONTAINERS-TRANSPORTS(5)(Containers)
2
3
4
5Valentin Rothberg April 2019
6

NAME

8       containers-transports - description of supported transports for copying
9       and storing container images
10
11

DESCRIPTION

13       Tools which use  the  containers/image  library,  including  skopeo(1),
14       buildah(1),  podman(1), all share a common syntax for referring to con‐
15       tainer images in various locations.  The general form of the syntax  is
16       transport:details,  where details are dependent on the specified trans‐
17       port, which are documented below.
18
19
20   containers-storage:[[storage-specifier]]{image-id|docker-refer‐
21       ence[@image-id]}
22       An  image  located  in  a  local  containers  storage.   The  format of
23       docker-reference is described in detail in the docker transport.
24
25
26       The storage-specifier allows for referencing storage locations  on  the
27       file  system  and  has  the format [[driver@]root[+run-root][:options]]
28       where the optional driver refers to the storage driver  (e.g.,  overlay
29       or  btrfs)  and  where  root  is an absolute path to the storage's root
30       directory.  The optional run-root can be used to specify the run direc‐
31       tory  of  the  storage  where all temporary writable content is stored.
32       The optional options are  a  comma-separated  list  of  driver-specific
33       options.  Please refer to containers-storage.conf(5) for further infor‐
34       mation on the drivers and supported options.
35
36
37   dir:path
38       An existing local directory path storing the manifest,  layer  tarballs
39       and signatures as individual files.  This is a non-standardized format,
40       primarily useful for debugging or noninvasive container inspection.
41
42
43   docker://docker-reference
44       An image in a registry implementing the "Docker Registry HTTP API  V2".
45       By  default,  uses the authorization state in $XDG_RUNTIME_DIR/contain‐
46       ers/auth.json, which is set using podman-login(1).  If  the  authoriza‐
47       tion  state  is  not found there, $HOME/.docker/config.json is checked,
48       which is set using docker-login(1).  The  containers-registries.conf(5)
49       further allows for configuring various settings of a registry.
50
51
52       Note    that    a    docker-reference   has   the   following   format:
53       name[:tag|@digest].  While the docker transport does not support both a
54       tag  and a digest at the same time some formats like containers-storage
55       do.  Digests can also be used in an image destination as  long  as  the
56       manifest  matches  the  provided  digest.   The digest of images can be
57       explored with skopeo-inspect(1).  If name does not contain a slash,  it
58       is  treated as docker.io/library/name.  Otherwise, the component before
59       the first slash is checked if it is  recognized  as  a  hostname[:port]
60       (i.e.,  it  contains  either  a  .  or a :, or the component is exactly
61       localhost).  If the first component of name  is  not  recognized  as  a
62       hostname[:port], name is treated as docker.io/name.
63
64
65   docker-archive:path[:docker-reference]
66       An image is stored in the docker-save(1) formatted file.  docker-refer‐
67       ence is only used when creating such a file, and it must not contain  a
68       digest.   It  is  further  possible to copy data to stdin by specifying
69       docker-archive:/dev/stdin but note that the used file must be seekable.
70
71
72   docker-daemon:docker-reference|algo:digest
73       An image stored in the docker daemon's  internal  storage.   The  image
74       must   be   specified  as  a  docker-reference  or  in  an  alternative
75       algo:digest format when being used as an image source.  The algo:digest
76       refers to the image ID reported by docker-inspect(1).
77
78
79   oci:path[:tag]
80       An image compliant with the "Open Container Image Layout Specification"
81       at path.  Using a tag is  optional  and  allows  for  storing  multiple
82       images at the same path.
83
84
85   oci-archive:path[:tag]
86       An image compliant with the "Open Container Image Layout Specification"
87       stored as a tar(1) archive at path.
88
89
90   ostree:docker-reference[@/absolute/repo/path]
91       An  image  in  the  local  ostree(1)  repository.   /absolute/repo/path
92       defaults to /ostree/repo.
93
94

Examples

96       The  following  examples  demonstrate how some of the containers trans‐
97       ports can be used.  The examples use skopeo-copy(1)  for  copying  con‐
98       tainer images.
99
100
101       Copying an image from one registry to another:
102
103
104              $ skopeo copy docker://docker.io/library/alpine:latest docker://localhost:5000/alpine:latest
105
106
107
108       Copying an image from a running Docker daemon to a directory in the OCI
109       layout:
110
111
112              $ mkdir alpine-oci
113              $ skopeo copy docker-daemon:alpine:latest oci:alpine-oci
114              $ tree alpine-oci
115              test-oci/
116              ├── blobs
117              │   └── sha256
118              │       ├── 83ef92b73cf4595aa7fe214ec6747228283d585f373d8f6bc08d66bebab531b7
119              │       ├── 9a6259e911dcd0a53535a25a9760ad8f2eded3528e0ad5604c4488624795cecc
120              │       └── ff8df268d29ccbe81cdf0a173076dcfbbea4bb2b6df1dd26766a73cb7b4ae6f7
121              ├── index.json
122              └── oci-layout
123
124              2 directories, 5 files
125
126
127
128       Copying an image from a registry to the local storage:
129
130
131              $ skopeo copy docker://docker.io/library/alpine:latest containers-storage:alpine:latest
132
133
134

SEE ALSO

136       docker-login(1),    docker-save(1),     ostree(1),     podman-login(1),
137       skopeo-copy(1),      skopeo-inspect(1),      tar(1),     container-reg‐
138       istries.conf(5), containers-storage.conf(5)
139
140

AUTHORS

142       Miloslav Trmač mitr@redhat.com ⟨mailto:mitr@redhat.com⟩ Valentin  Roth‐
143       berg rothberg@redhat.com ⟨mailto:rothberg@redhat.com⟩
144
145
146
147Man                               TransportCsONTAINERS-TRANSPORTS(5)(Containers)
Impressum