1podman-manifest(1)          General Commands Manual         podman-manifest(1)
2
3
4

NAME

6       podman-manifest  -  Create  and manipulate manifest lists and image in‐
7       dexes
8
9

SYNOPSIS

11       podman manifest subcommand
12
13

DESCRIPTION

15       The podman manifest command provides subcommands which can be used to:
16
17       * Create a working Docker manifest list or OCI image index.
18
19
20

SUBCOMMANDS

22       ┌─────────┬─────────────────────────────┬─────────────────────┐
23Command  Man Page                    Description         
24       ├─────────┼─────────────────────────────┼─────────────────────┤
25       │add      │ podman-manifest-add(1)      │ Add an image  to  a │
26       │         │                             │ manifest   list  or │
27       │         │                             │ image index.        │
28       ├─────────┼─────────────────────────────┼─────────────────────┤
29       │annotate │ podman-manifest-annotate(1) │ Add or  update  in‐ │
30       │         │                             │ formation  about an │
31       │         │                             │ entry in a manifest │
32       │         │                             │ list  or  image in‐ │
33       │         │                             │ dex.                │
34       ├─────────┼─────────────────────────────┼─────────────────────┤
35       │create   │ podman-manifest-create(1)   │ Create  a  manifest │
36       │         │                             │ list  or  image in‐ │
37       │         │                             │ dex.                │
38       ├─────────┼─────────────────────────────┼─────────────────────┤
39       │exists   │ podman-manifest-exists(1)   │ Check if the  given │
40       │         │                             │ manifest  list  ex‐ │
41       │         │                             │ ists in local stor‐ │
42       │         │                             │ age                 │
43       ├─────────┼─────────────────────────────┼─────────────────────┤
44       │inspect  │ podman-manifest-inspect(1)  │ Display  a manifest │
45       │         │                             │ list or  image  in‐ │
46       │         │                             │ dex.                │
47       ├─────────┼─────────────────────────────┼─────────────────────┤
48       │push     │ podman-manifest-push(1)     │ Push   a   manifest │
49       │         │                             │ list or image index │
50       │         │                             │ to a registry.      │
51       ├─────────┼─────────────────────────────┼─────────────────────┤
52       │remove   │ podman-manifest-remove(1)   │ Remove   an   image │
53       │         │                             │ from   a   manifest │
54       │         │                             │ list  or  image in‐ │
55       │         │                             │ dex.                │
56       ├─────────┼─────────────────────────────┼─────────────────────┤
57       │rm       │ podman-manifest-rm(1)       │ Remove     manifest │
58       │         │                             │ list or image index │
59       │         │                             │ from local storage. │
60       └─────────┴─────────────────────────────┴─────────────────────┘
61

EXAMPLES

63   Building a multi-arch manifest list from a Containerfile
64       Assuming the Containerfile uses RUN instructions, the host needs a  way
65       to  execute  non-native binaries.  Configuring this is beyond the scope
66       of this example.  Building a multi-arch manifest list shazam in  paral‐
67       lel across 4-threads can be done like this:
68
69           $ platarch=linux/amd64,linux/ppc64le,linux/arm64,linux/s390x
70           $ podman build --jobs=4 --platform=$platarch --manifest shazam .
71
72
73
74       Note: The --jobs argument is optional. Do not use the podman build com‐
75       mand's --tag (or -t) option when building a multi-arch manifest list.
76
77
78   Assembling a multi-arch manifest from separately built images
79       Assuming example.com/example/shazam:$arch images are  built  separately
80       on  other  hosts  and  pushed to the example.com registry.  They may be
81       combined into a manifest list, and pushed using a simple loop:
82
83           $ REPO=example.com/example/shazam
84           $ podman manifest create $REPO:latest
85           $ for IMGTAG in amd64 s390x ppc64le arm64; do
86                     podman manifest add $REPO:latest docker://$REPO:IMGTAG;
87                 done
88           $ podman manifest push --all $REPO:latest
89
90
91
92       Note: The add instruction argument order is  <manifest>  then  <image>.
93       Also,  the  --all  push  option  is required to ensure all contents are
94       pushed, not just the native platform/arch.
95
96
97   Removing and tagging a manifest list before pushing
98       Special care is needed when removing and pushing manifest lists, as op‐
99       posed  to  the contents.  You almost always want to use the manifest rm
100       and manifest push --all subcommands.  For example, a  rename  and  push
101       can be performed like this:
102
103           $ podman tag localhost/shazam example.com/example/shazam
104           $ podman manifest rm localhost/shazam
105           $ podman manifest push --all example.com/example/shazam
106
107
108

SEE ALSO

110       podman(1), podman-manifest-add(1), podman-manifest-annotate(1), podman-
111       manifest-create(1),    podman-manifest-inspect(1),     podman-manifest-
112       push(1), podman-manifest-remove(1)
113
114
115
116                                                            podman-manifest(1)
Impressum