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
11
12
13 podman image pull [options] 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 Copies an image from a registry onto the local machine. podman pull
24 pulls an image from Docker Hub if a registry is not specified in the
25 command line argument. If an image tag is not specified, podman pull
26 defaults to the image with the latest tag (if it exists) and pulls it.
27 After the image is pulled, podman will print the full image ID. podman
28 pull can also pull an image using its digest podman pull image@digest.
29 podman pull can be used to pull images from archives and local storage
30 using different transports.
31
32
34 Images are stored in local image storage.
35
36
38 The SOURCE is the location from which the container images are pulled.
39 The Image "SOURCE" uses a "transport":"details" format. Only the
40 docker (container registry)
41 transport is allowed for remote access.
42
43
44 Multiple transports are supported:
45
46
47 dir:path
48 An existing local directory path storing the manifest, layer tarballs
49 and signatures as individual files. This
50 is a non-standardized format, primarily useful for debugging or non‐
51 invasive container inspection.
52
53
54 $ podman pull dir:/tmp/myimage
55
56
57
58 docker://docker-reference (Default)
59 An image reference stored in a remote container image registry. The
60 reference can include a path to a
61 specific registry; if it does not, the registries listed in reg‐
62 istries.conf will be queried to find a matching
63 image. By default, credentials from podman login (stored at $XDG_RUN‐
64 TIME_DIR/containers/auth.json by default)
65 will be used to authenticate; if these cannot be found, we will fall
66 back to using credentials in
67 $HOME/.docker/config.json.
68
69
70 $ podman pull quay.io/username/myimage
71
72
73
74 docker-archive:path[:docker-reference]
75 An image is stored in the docker save formatted file. docker-refer‐
76 ence is only used when creating such a
77 file, and it must not contain a digest.
78
79
80 $ podman pull docker-archive:/tmp/myimage
81
82
83
84 docker-daemon:docker-reference
85 An image in docker-reference format stored in the docker daemon
86 internal storage. The docker-reference can also be an image ID
87 (docker-daemon:algo:digest).
88
89
90 $ sudo podman pull docker-daemon:docker.io/library/myimage:33
91
92
93
94 oci-archive:path:tag
95 An image tag in a directory compliant with "Open Container Image Lay‐
96 out Specification" at path.
97
98
99 $ podman pull oci-archive:/tmp/myimage
100
101
102
104 --all-tags, a
105 All tagged images in the repository will be pulled.
106
107
108 Note: When using the all-tags flag, Podman will not iterate over the
109 search registries in the containers-registries.conf(5) but will always
110 use docker.io for unqualified image names.
111
112
113 --arch=ARCH
114 Override the architecture, defaults to hosts, of the image to be
115 pulled. For example, arm.
116
117
118 --authfile=path
119 Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/contain‐
120 ers/auth.json, which is set using podman login. If the authorization
121 state is not found there, $HOME/.docker/config.json is checked, which
122 is set using docker login.
123
124
125 Note: You can also override the default path of the authentication file
126 by setting the REGISTRY_AUTH_FILE environment variable. export REG‐
127 ISTRY_AUTH_FILE=path
128
129
130 --cert-dir=path
131 Use certificates at path (*.crt, *.cert, *.key) to connect to the reg‐
132 istry. Default certificates directory is /etc/containers/certs.d. (Not
133 available for remote commands)
134
135
136 --creds=[username[:password]]
137 The [username[:password]] to use to authenticate with the registry if
138 required. If one or both values are not supplied, a command line
139 prompt will appear and the value can be entered. The password is
140 entered without echo.
141
142
143 --disable-content-trust
144 This is a Docker specific option to disable image verification to a
145 Docker registry and is not supported by Podman. This flag is a NOOP
146 and provided solely for scripting compatibility.
147
148
149 --help, -h
150 Print usage statement
151
152
153 --os=OS
154 Override the OS, defaults to hosts, of the image to be pulled. For
155 example, windows.
156
157
158 --platform=OS/ARCH
159 Specify the platform for selecting the image. (Conflicts with --arch
160 and --os) The --platform option can be used to override the current
161 architecture and operating system.
162
163
164 --quiet, -q
165 Suppress output information when pulling images
166
167
168 --tls-verify=true|false
169 Require HTTPS and verify certificates when contacting registries
170 (default: true). If explicitly set to true, then TLS verification will
171 be used. If set to false, then TLS verification will not be used. If
172 not specified, TLS verification will be used unless the target registry
173 is listed as an insecure registry in registries.conf.
174
175
176 --variant=VARIANT
177 Use VARIANT instead of the default architecture variant of the con‐
178 tainer image. Some images can use multiple variants of the arm archi‐
179 tectures, such as arm/v5 and arm/v7.
180
181
183 $ podman pull alpine:latest
184 Trying to pull registry.access.redhat.com/alpine:latest... Failed
185 Trying to pull registry.fedoraproject.org/alpine:latest... Failed
186 Trying to pull docker.io/library/alpine:latest...Getting image source signatures
187 Copying blob sha256:88286f41530e93dffd4b964e1db22ce4939fffa4a4c665dab8591fbab03d4926
188 1.90 MB / 1.90 MB [========================================================] 0s
189 Copying config sha256:76da55c8019d7a47c347c0dceb7a6591144d232a7dd616242a367b8bed18ecbc
190 1.48 KB / 1.48 KB [========================================================] 0s
191 Writing manifest to image destination
192 Storing signatures
193 04660052281190168dbb2362eb15bf7067a8dc642d2498055e0e72efa961a4b6
194
195
196
197 $ podman pull alpine@sha256:d7342993700f8cd7aba8496c2d0e57be0666e80b4c441925fc6f9361fa81d10e
198 Trying to pull docker.io/library/alpine@sha256:d7342993700f8cd7aba8496c2d0e57be0666e80b4c441925fc6f9361fa81d10e...
199 Getting image source signatures
200 Copying blob 188c0c94c7c5 done
201 Copying config d6e46aa247 done
202 Writing manifest to image destination
203 Storing signatures
204 d6e46aa2470df1d32034c6707c8041158b652f38d2a9ae3d7ad7e7532d22ebe0
205
206
207
208 $ podman pull --authfile temp-auths/myauths.json docker://docker.io/umohnani/finaltest
209 Trying to pull docker.io/umohnani/finaltest:latest...Getting image source signatures
210 Copying blob sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913
211 1.90 MB / 1.90 MB [========================================================] 0s
212 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
213 1.41 KB / 1.41 KB [========================================================] 0s
214 Writing manifest to image destination
215 Storing signatures
216 03290064078cb797f3e0a530e78c20c13dd22a3dd3adf84a5da2127b48df0438
217
218
219
220 $ podman pull --creds testuser:testpassword docker.io/umohnani/finaltest
221 Trying to pull docker.io/umohnani/finaltest:latest...Getting image source signatures
222 Copying blob sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913
223 1.90 MB / 1.90 MB [========================================================] 0s
224 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
225 1.41 KB / 1.41 KB [========================================================] 0s
226 Writing manifest to image destination
227 Storing signatures
228 03290064078cb797f3e0a530e78c20c13dd22a3dd3adf84a5da2127b48df0438
229
230
231
232 $ podman pull --tls-verify=false --cert-dir image/certs docker.io/umohnani/finaltest
233 Trying to pull docker.io/umohnani/finaltest:latest...Getting image source signatures
234 Copying blob sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913
235 1.90 MB / 1.90 MB [========================================================] 0s
236 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
237 1.41 KB / 1.41 KB [========================================================] 0s
238 Writing manifest to image destination
239 Storing signatures
240 03290064078cb797f3e0a530e78c20c13dd22a3dd3adf84a5da2127b48df0438
241
242
243
244 $ podman pull --arch=arm arm32v7/debian:stretch
245 Trying to pull docker.io/arm32v7/debian:stretch...
246 Getting image source signatures
247 Copying blob b531ae4a3925 done
248 Copying config 3cba58dad5 done
249 Writing manifest to image destination
250 Storing signatures
251 3cba58dad5d9b35e755b48b634acb3fdd185ab1c996ac11510cc72c17780e13c
252
253
254
256 registries.conf (/etc/containers/registries.conf)
257
258
259 registries.conf is the configuration file which specifies which container registries should be consulted when completing image names which do not include a registry or domain portion.
260
261
262
263 NOTE: Use the environment variable TMPDIR to change the temporary stor‐
264 age location of downloaded container images. Podman defaults to use
265 /var/tmp.
266
267
269 podman(1), podman-push(1), podman-login(1), containers-reg‐
270 istries.conf(5)
271
272
274 July 2017, Originally compiled by Urvashi Mohnani umohnani@redhat.com
275 ⟨mailto:umohnani@redhat.com⟩
276
277
278
279 podman-pull(1)()