1skopeo-copy(1)()                                              skopeo-copy(1)()
2
3
4

NAME

6       skopeo-copy  -  Copy an image (manifest, filesystem layers, signatures)
7       from one location to another.
8
9

SYNOPSIS

11       skopeo copy [--sign-by=key-ID] source-image destination-image
12
13

DESCRIPTION

15       Copy an image (manifest, filesystem layers, signatures) from one  loca‐
16       tion to another.
17
18
19       Uses  the  system's trust policy to validate images, rejects images not
20       trusted by the policy.
21
22
23       source-image use the "image name" format described above
24
25
26       destination-image use the "image name" format described above
27
28

OPTIONS

30       --all
31
32
33       If source-image refers to a list of images, instead of copying just the
34       image which matches the current OS and architecture (subject to the use
35       of the global --override-os and --override-arch  options),  attempt  to
36       copy all of the images in the list, and the list itself.
37
38
39       --authfile path
40
41
42       Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/contain‐
43       ers/auth.json, which is set using podman login.  If  the  authorization
44       state  is  not found there, $HOME/.docker/config.json is checked, which
45       is set using docker login.
46
47
48       --format, -f manifest-type Manifest type (oci, v2s1, or  v2s2)  to  use
49       when  saving  image to directory using the 'dir:' transport (default is
50       manifest type of source)
51
52
53       --quiet, -q suppress output information when copying images
54
55
56       --remove-signatures do not copy signatures, if any, from  source-image.
57       Necessary  when  copying a signed image to a destination which does not
58       support signatures.
59
60
61       --sign-by=key-id add a signature using that key ID for  an  image  name
62       corresponding to destination-image
63
64
65       --src-creds username[:password] for accessing the source registry
66
67
68       --dest-compress bool-value Compress tarball image layers when saving to
69       directory using the 'dir' transport. (default is same compression  type
70       as source)
71
72
73       --dest-oci-accept-uncompressed-layers   bool-value  Allow  uncompressed
74       image layers when saving to an OCI image  using  the  'oci'  transport.
75       (default is to compress things that aren't compressed)
76
77
78       --dest-creds username[:password] for accessing the destination registry
79
80
81       --src-cert-dir  path Use certificates at path (*.crt, *.cert, *.key) to
82       connect to the source registry or daemon
83
84
85       --src-no-creds bool-value Access the registry anonymously.
86
87
88       --src-tls-verify bool-value Require HTTPS and verify certificates  when
89       talking to container source registry or daemon (defaults to true)
90
91
92       --dest-cert-dir path Use certificates at path (*.crt, *.cert, *.key) to
93       connect to the destination registry or daemon
94
95
96       --dest-no-creds bool-value  Access the registry anonymously.
97
98
99       --dest-ostree-tmp-dir path Directory to use for OSTree temporary files.
100
101
102       --dest-tls-verify bool-value Require HTTPS and verify certificates when
103       talking to container destination registry or daemon (defaults to true)
104
105
106       --src-daemon-host  host Copy from docker daemon at host. If host starts
107       with tcp://, HTTPS is enabled by default. To use plain  HTTP,  use  the
108       form http:// (default is unix:///var/run/docker.sock).
109
110
111       --dest-daemon-host  host  Copy to docker daemon at host. If host starts
112       with tcp://, HTTPS is enabled by default. To use plain  HTTP,  use  the
113       form http:// (default is unix:///var/run/docker.sock).
114
115
116       Existing signatures, if any, are preserved as well.
117
118
119       --dest-compress-format  format Specifies the compression format to use.
120       Supported values are: gzip and zstd.
121
122
123       --dest-compress-level format Specifies the compression  level  to  use.
124       The  value is specific to the compression algorithm used, e.g. for zstd
125       the accepted values are in the range 1-20 (inclusive), while  for  gzip
126       it is 1-9 (inclusive).
127
128

EXAMPLES

130       To copy the layers of the docker.io busybox image to a local directory:
131
132
133              $ mkdir -p /var/lib/images/busybox
134              $ skopeo copy docker://busybox:latest dir:/var/lib/images/busybox
135              $ ls /var/lib/images/busybox/*
136                /tmp/busybox/2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749.tar
137                /tmp/busybox/manifest.json
138                /tmp/busybox/8ddc19f16526912237dd8af81971d5e4dd0587907234be2b83e249518d5b673f.tar
139
140
141
142       To copy and sign an image:
143
144
145              $ skopeo copy --sign-by dev@example.com atomic:example/busybox:streaming atomic:example/busybox:gold
146
147
148

SEE ALSO

150       skopeo(1), podman-login(1), docker-login(1)
151
152

AUTHORS

154       Antonio  Murdaca runcom@redhat.com ⟨mailto:runcom@redhat.com⟩, Miloslav
155       Trmac mitr@redhat.com ⟨mailto:mitr@redhat.com⟩, Jhon Honce  jhonce@red‐
156       hat.com ⟨mailto:jhonce@redhat.com⟩
157
158
159
160                                                              skopeo-copy(1)()
Impressum