1podman-push(1)() podman-push(1)()
2
3
4
6 podman-push - Push an image, manifest list or image index from local
7 storage to elsewhere
8
9
11 podman push [options] image [destination]
12
13
14 podman image push [options] image [destination]
15
16
18 Pushes an image, manifest list or image index from local storage to a
19 specified destination. Push is mainly used to push images to reg‐
20 istries, however podman push can be used to save images to tarballs and
21 directories using the following transports: dir:, docker-archive:,
22 docker-daemon: and oci-archive:.
23
24
26 Images are pushed from those stored in local image storage.
27
28
30 DESTINATION is the location the container image is pushed to. It sup‐
31 ports all transports from containers-transports(5). If no transport is
32 specified, the docker (i.e., container registry) transport is used.
33 For remote clients, docker is the only supported transport.
34
35
36 # Push to a container registry
37 $ podman push quay.io/podman/stable
38
39 # Push to a container registry via the docker transport
40 $ podman push docker://quay.io/podman/stable
41
42 # Push to a container registry with another tag
43 $ podman push myimage quay.io/username/myimage
44
45 # Push to a local directory
46 $ podman push myimage dir:/tmp/myimage
47
48 # Push to a tarball in the docker-archive format
49 $ podman push myimage docker-archive:/tmp/myimage
50
51 # Push to a local docker daemon
52 $ sudo podman push myimage docker-daemon:docker.io/library/myimage:33
53
54 # Push to a tarball in the OCI format
55 $ podman push myimage oci-archive:/tmp/myimage
56
57
58
60 --authfile=path
61 Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/contain‐
62 ers/auth.json, which is set using podman login. If the authorization
63 state is not found there, $HOME/.docker/config.json is checked, which
64 is set using docker login.
65
66
67 Note: You can also override the default path of the authentication file
68 by setting the REGISTRY_AUTH_FILE environment variable. export REG‐
69 ISTRY_AUTH_FILE=path
70
71
72 --creds=[username[:password]]
73 The [username[:password]] to use to authenticate with the registry if
74 required. If one or both values are not supplied, a command line
75 prompt will appear and the value can be entered. The password is en‐
76 tered without echo.
77
78
79 --cert-dir=path
80 Use certificates at path (*.crt, *.cert, *.key) to connect to the reg‐
81 istry. Please refer to containers-certs.d(5) for details. (This option
82 is not available with the remote Podman client)
83
84
85 --compress
86 Compress tarball image layers when pushing to a directory using the
87 'dir' transport. (default is same compression type, compressed or un‐
88 compressed, as source) Note: This flag can only be set when using the
89 dir transport
90
91
92 --digestfile Digestfile
93 After copying the image, write the digest of the resulting image to the
94 file. (This option is not available with the remote Podman client)
95
96
97 --disable-content-trust
98 This is a Docker specific option to disable image verification to a
99 Docker registry and is not supported by Podman. This flag is a NOOP
100 and provided solely for scripting compatibility.
101
102
103 --format, -f=format
104 Manifest Type (oci, v2s2, or v2s1) to use when pushing an image.
105
106
107 --quiet, -q
108 When writing the output image, suppress progress output
109
110
111 --remove-signatures
112 Discard any pre-existing signatures in the image. (This option is not
113 available with the remote Podman client)
114
115
116 --sign-by=key
117 Add a signature at the destination using the specified key. (This op‐
118 tion is not available with the remote Podman client)
119
120
121 --tls-verify=true|false
122 Require HTTPS and verify certificates when contacting registries (de‐
123 fault: true). If explicitly set to true, then TLS verification will be
124 used. If set to false, then TLS verification will not be used. If not
125 specified, TLS verification will be used unless the target registry is
126 listed as an insecure registry in registries.conf.
127
128
130 This example pushes the image specified by the imageID to a local di‐
131 rectory in docker format.
132
133
134 # podman push imageID dir:/path/to/image
135
136
137 This example pushes the image specified by the imageID to a local di‐
138 rectory in oci format.
139
140
141 # podman push imageID oci-archive:/path/to/layout:image:tag
142
143
144 This example pushes the image specified by the imageID to a container
145 registry named registry.example.com
146
147
148 # podman push imageID docker://registry.example.com/repository:tag
149
150
151 This example pushes the image specified by the imageID to a container
152 registry named registry.example.com and saves the digest in the speci‐
153 fied digestfile.
154
155
156 # podman push --digestfile=/tmp/mydigest imageID docker://registry.ex‐
157 ample.com/repository:tag
158
159
160 This example pushes the image specified by the imageID and puts it into
161 the local docker container store
162
163
164 # podman push imageID docker-daemon:image:tag
165
166
167 This example pushes the alpine image to umohnani/alpine on dockerhub
168 and reads the creds from the path given to --authfile
169
170
171 # podman push --authfile temp-auths/myauths.json alpine docker://docker.io/umohnani/alpine
172 Getting image source signatures
173 Copying blob sha256:5bef08742407efd622d243692b79ba0055383bbce12900324f75e56f589aedb0
174 4.03 MB / 4.03 MB [========================================================] 1s
175 Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
176 1.41 KB / 1.41 KB [========================================================] 1s
177 Writing manifest to image destination
178 Storing signatures
179
180
181
182 This example pushes the rhel7 image to rhel7-dir with the "oci" mani‐
183 fest type
184
185
186 # podman push --format oci registry.access.redhat.com/rhel7 dir:rhel7-dir
187 Getting image source signatures
188 Copying blob sha256:9cadd93b16ff2a0c51ac967ea2abfadfac50cfa3af8b5bf983d89b8f8647f3e4
189 71.41 MB / 71.41 MB [======================================================] 9s
190 Copying blob sha256:4aa565ad8b7a87248163ce7dba1dd3894821aac97e846b932ff6b8ef9a8a508a
191 1.21 KB / 1.21 KB [========================================================] 0s
192 Copying config sha256:f1b09a81455c351eaa484b61aacd048ab613c08e4c5d1da80c4c46301b03cf3b
193 3.01 KB / 3.01 KB [========================================================] 0s
194 Writing manifest to image destination
195 Storing signatures
196
197
198
200 podman(1), podman-pull(1), podman-login(1), containers-certs.d(5), con‐
201 tainers-transports(5)
202
203
204
205 podman-push(1)()