1skopeo-copy(1)() skopeo-copy(1)()
2
3
4
6 skopeo-copy - Copy an image (manifest, filesystem layers, signatures)
7 from one location to another.
8
9
11 skopeo copy [--sign-by=key-ID] source-image destination-image
12
13
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
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
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
150 skopeo(1), podman-login(1), docker-login(1)
151
152
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)()