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|@source-index}]
66       An image is stored in the docker-save(1) formatted file.  docker-refer‐
67       ence must not contain a digest.  Alternatively, for  reading  archives,
68       @source-index  is  a  zero-based  index  in archive manifest (to access
69       untagged images).  If neither docker-reference  nor  @_source_index  is
70       specified when reading an archive, the archive must contain exactly one
71       image.
72
73
74       It is further possible to copy data to stdin by  specifying  docker-ar‐
75       chive:/dev/stdin but note that the used file must be seekable.
76
77
78   docker-daemon:docker-reference|algo:digest
79       An  image  stored  in  the docker daemon's internal storage.  The image
80       must  be  specified  as  a  docker-reference  or  in   an   alternative
81       algo:digest format when being used as an image source.  The algo:digest
82       refers to the image ID reported by docker-inspect(1).
83
84
85   oci:path[:tag]
86       An image compliant with the "Open Container Image Layout Specification"
87       at  path.   Using  a  tag  is  optional and allows for storing multiple
88       images at the same path.
89
90
91   oci-archive:path[:tag]
92       An image compliant with the "Open Container Image Layout Specification"
93       stored as a tar(1) archive at path.
94
95
96   ostree:docker-reference[@/absolute/repo/path]
97       An  image  in  the  local  ostree(1)  repository.   /absolute/repo/path
98       defaults to /ostree/repo.
99
100

Examples

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

SEE ALSO

142       docker-login(1),     docker-save(1),     ostree(1),    podman-login(1),
143       skopeo-copy(1),     skopeo-inspect(1),      tar(1),      container-reg‐
144       istries.conf(5), containers-storage.conf(5)
145
146

AUTHORS

148       Miloslav  Trmač mitr@redhat.com ⟨mailto:mitr@redhat.com⟩ Valentin Roth‐
149       berg rothberg@redhat.com ⟨mailto:rothberg@redhat.com⟩
150
151
152
153Man                               TransportCsONTAINERS-TRANSPORTS(5)(Containers)
Impressum