1podman-pull(1)() podman-pull(1)()
2
3
4
6 podman-pull - Pull an image from a registry
7
8
10 podman pull [options] source [source...]
11
12
13 podman image pull [options] source [source...]
14
15
16 podman pull [options] [transport]name[:tag|@digest]
17
18
19 podman image pull [options] [transport]name[:tag|@digest]
20
21
23 podman pull copies an image from a registry onto the local machine. The
24 command can pull one or more images. If the image reference in the
25 command line argument does not contain a registry, it is referred to as
26 ashort-name reference. If the image is a 'short-name' reference, Podman
27 will prompt the user for the specific container registry to pull the
28 image from, if an alias for the short-name has not been specified in
29 the short-name-aliases.conf. If an image tag is not specified, podman
30 pull defaults to the image with the latest tag (if it exists) and pulls
31 it. After the image is pulled, podman will print the full image ID.
32 podman pull can also pull images using a digest podman pull image@di‐
33 gest and can also be used to pull images from archives and local stor‐
34 age using different transports. IMPORTANT: Images are stored in local
35 image storage.
36
37
39 SOURCE is the location from the container image is pulled from. It sup‐
40 ports all transports from containers-transports(5). If no transport is
41 specified, the input is subject to short-name resolution and the docker
42 (i.e., container registry) transport is used. For remote clients,
43 docker is the only supported transport.
44
45
46 # Pull from a container registry
47 $ podman pull quay.io/username/myimage
48
49 # Pull from a container registry with short-name resolution
50 $ podman pull fedora
51
52 # Pull from a container registry via the docker transport
53 $ podman pull docker://quay.io/username/myimage
54
55 # Pull from a local directory
56 $ podman pull dir:/tmp/myimage
57
58 # Pull from a tarball in the docker-archive format
59 $ podman pull docker-archive:/tmp/myimage
60
61 # Pull from a local docker daemon
62 $ sudo podman pull docker-daemon:docker.io/library/myimage:33
63
64 # Pull from a tarball in the OCI-archive format
65 $ podman pull oci-archive:/tmp/myimage
66
67
68
70 --all-tags
71 All tagged images in the repository will be pulled.
72
73
74 *IMPORTANT: When using the all-tags flag, Podman will not iterate over
75 the search registries in the containers-registries.conf(5) but will al‐
76 ways use docker.io for unqualified image names.*
77
78
79 --arch=ARCH
80 Override the architecture, defaults to hosts, of the image to be
81 pulled. For example, arm.
82
83
84 --authfile=path
85 Path of the authentication file. If the authorization state is not
86 found there, $HOME/.docker/config.json is checked, which is set using
87 docker login.
88
89
90 Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json, which is set us‐
91 ing podman login.
92
93
94 IMPORTANT: The default path of the authentication file can be overwrit‐
95 ten by setting the REGISTRY\_AUTH\_FILE environment variable. export
96 REGISTRY_AUTH_FILE=path
97
98
99 --cert-dir=path
100 Use certificates at path (*.crt, *.cert, *.key) to connect to the reg‐
101 istry. Please refer to containers-certs.d(5) for details. (This option
102 is not available with the remote Podman client)
103
104
105 --creds=[username[:password]]
106 The [username[:password]] to use to authenticate with the registry if
107 required. If one or both values are not supplied, a command line
108 prompt will appear and the value can be entered. The password is en‐
109 tered without echo.
110
111
112 --disable-content-trust
113 This is a Docker specific option to disable image verification to a
114 Docker registry and is not supported by Podman. This flag is a NOOP
115 and provided solely for scripting compatibility.
116
117
118 --help, -h
119 Print the usage statement.
120
121
122 --os=OS
123 Override the OS, defaults to hosts, of the image to be pulled. For ex‐
124 ample, windows.
125
126
127 --platform=OS/ARCH
128 Specify the platform for selecting the image. The --platform option can
129 be used to override the current architecture and operating system.
130
131
132 IMPORTANT: Conflicts with --arch and --os
133
134
135 --quiet, -q
136 Suppress output information when pulling images
137
138
139 --tls-verify=true|false
140 Require HTTPS and verify certificates when contacting registries (de‐
141 fault: true). If explicitly set to true, then TLS verification will be
142 used. If set to false, then TLS verification will not be used. If not
143 specified, TLS verification will be used unless the target registry is
144 listed as an insecure registry in registries.conf.
145
146
147 --variant=VARIANT
148 Use VARIANT instead of the default architecture variant of the con‐
149 tainer image. Some images can use multiple variants of the arm archi‐
150 tectures, such as arm/v5 and arm/v7.
151
152
154 short-name-aliases.conf (/var/cache/containers/short-name-aliases.conf,
155 $HOME/.cache/containers/short-name-aliases.conf)
156
157
158 When users specify images that do not include the container registry
159 where the image is stored, this is called a short name. The use of un‐
160 qualified-search registries entails an ambiguity as it is unclear from
161 which registry a given image, referenced by a short name, may be pulled
162 from.
163
164
165 Using short names is subject to the risk of hitting squatted registry
166 namespaces. If the unqualified-search registries are set to ["public-
167 registry.com", "my-private-registry.com"] an attacker may take over a
168 namespace of public-registry.com such that an image may be pulled from
169 public-registry.com instead of the intended source my-private-reg‐
170 istry.com.
171
172
173 While it is highly recommended to always use fully-qualified image ref‐
174 erences, existing deployments using short names may not be easily
175 changed. To circumvent the aforementioned ambiguity, so called short-
176 name aliases can be configured that point to a fully-qualified image
177 reference. Distributions often ship a default shortnames.conf expansion
178 file in /etc/containers/registries.conf.d/ directory. Administrators
179 can use this directory to add their own local short-name expansion
180 files.
181
182
183 When pulling an image, if the user does not specify the complete reg‐
184 istry, container engines attempt to expand the short-name into a full
185 name. If the command is executed with a tty, the user will be prompted
186 to select a registry from the default list unqualified registries de‐
187 fined in registries.conf. The user's selection is then stored in a
188 cache file to be used in all future short-name expansions. Rootfull
189 short-names are stored in /var/cache/containers/short-name-
190 aliases.conf. Rootless short-names are stored in the $HOME/.cache/con‐
191 tainers/short-name-aliases.conf file.
192
193
194 For more information on short-names, see containers-registries.conf(5)
195
196
197 registries.conf (/etc/containers/registries.conf)
198
199
200 registries.conf is the configuration file which specifies which con‐
201 tainer registries should be consulted when completing image names which
202 do not include a registry or domain portion.
203
204
205 NOTE: Use the environment variable TMPDIR to change the temporary stor‐
206 age location of downloaded container images. Podman defaults to use
207 /var/tmp.
208
209
211 Pull a single image with short name resolution.
212
213
214 $ podman pull alpine:latest
215 Resolved "alpine" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
216 Trying to pull docker.io/library/alpine:latest...
217 Getting image source signatures
218 Copying blob 5843afab3874 done
219 Copying config d4ff818577 done
220 Writing manifest to image destination
221 Storing signatures
222 d4ff818577bc193b309b355b02ebc9220427090057b54a59e73b79bdfe139b83
223
224
225
226 Pull multiple images with/without short name resolution.
227
228
229 podman pull busybox:musl alpine quay.io/libpod/cirros
230 Trying to pull docker.io/library/busybox:musl...
231 Getting image source signatures
232 Copying blob 0c52b060233b [--------------------------------------] 0.0b / 0.0b
233 Copying config 9ad2c435a8 done
234 Writing manifest to image destination
235 Storing signatures
236 9ad2c435a887e3f723654e09b48563de44aa3c7950246b2e9305ec85dd3422db
237 Trying to pull docker.io/library/alpine:latest...
238 Getting image source signatures
239 Copying blob 5843afab3874 [--------------------------------------] 0.0b / 0.0b
240 Copying config d4ff818577 done
241 Writing manifest to image destination
242 Storing signatures
243 d4ff818577bc193b309b355b02ebc9220427090057b54a59e73b79bdfe139b83
244 Trying to pull quay.io/libpod/cirros:latest...
245 Getting image source signatures
246 Copying blob 8da581cc9286 done
247 Copying blob 856628d95d17 done
248 Copying blob f513001ba4ab done
249 Copying config 3c82e4d066 done
250 Writing manifest to image destination
251 Storing signatures
252 3c82e4d066cf6f9e50efaead6e3ff7fddddf5527826afd68e5a969579fc4db4a
253
254
255
256 Pull an image using its digest.
257
258
259 $ podman pull alpine@sha256:d7342993700f8cd7aba8496c2d0e57be0666e80b4c441925fc6f9361fa81d10e
260 Trying to pull docker.io/library/alpine@sha256:d7342993700f8cd7aba8496c2d0e57be0666e80b4c441925fc6f9361fa81d10e...
261 Getting image source signatures
262 Copying blob 188c0c94c7c5 done
263 Copying config d6e46aa247 done
264 Writing manifest to image destination
265 Storing signatures
266 d6e46aa2470df1d32034c6707c8041158b652f38d2a9ae3d7ad7e7532d22ebe0
267
268
269
270 Pull an image by specifying an authentication file.
271
272
273 $ podman pull --authfile temp-auths/myauths.json docker://docker.io/umohnani/finaltest
274 Trying to pull docker.io/umohnani/finaltest:latest...Getting image source signatures
275 Copying blob sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913
276 1.90 MB / 1.90 MB [========================================================] 0s
277 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
278 1.41 KB / 1.41 KB [========================================================] 0s
279 Writing manifest to image destination
280 Storing signatures
281 03290064078cb797f3e0a530e78c20c13dd22a3dd3adf84a5da2127b48df0438
282
283
284
285 Pull an image by authenticating to a registry.
286
287
288 $ podman pull --creds testuser:testpassword docker.io/umohnani/finaltest
289 Trying to pull docker.io/umohnani/finaltest:latest...Getting image source signatures
290 Copying blob sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913
291 1.90 MB / 1.90 MB [========================================================] 0s
292 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
293 1.41 KB / 1.41 KB [========================================================] 0s
294 Writing manifest to image destination
295 Storing signatures
296 03290064078cb797f3e0a530e78c20c13dd22a3dd3adf84a5da2127b48df0438
297
298
299
300 Pull an image using tls verification.
301
302
303 $ podman pull --tls-verify=false --cert-dir image/certs docker.io/umohnani/finaltest
304 Trying to pull docker.io/umohnani/finaltest:latest...Getting image source signatures
305 Copying blob sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913
306 1.90 MB / 1.90 MB [========================================================] 0s
307 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
308 1.41 KB / 1.41 KB [========================================================] 0s
309 Writing manifest to image destination
310 Storing signatures
311 03290064078cb797f3e0a530e78c20c13dd22a3dd3adf84a5da2127b48df0438
312
313
314
315 Pull an image by overriding the host architecture.
316
317
318 $ podman pull --arch=arm arm32v7/debian:stretch
319 Trying to pull docker.io/arm32v7/debian:stretch...
320 Getting image source signatures
321 Copying blob b531ae4a3925 done
322 Copying config 3cba58dad5 done
323 Writing manifest to image destination
324 Storing signatures
325 3cba58dad5d9b35e755b48b634acb3fdd185ab1c996ac11510cc72c17780e13c
326
327
328
330 podman(1), podman-push(1), podman-login(1), containers-certs.d(5), con‐
331 tainers-registries.conf(5), containers-transports(5)
332
333
335 July 2017, Originally compiled by Urvashi Mohnani umohnani@redhat.com
336 ⟨mailto:umohnani@redhat.com⟩
337
338
339
340 podman-pull(1)()