1podman-manifest(1)()                                      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
18              * Create a working Docker manifest list or OCI image index.
19
20
21

SUBCOMMANDS

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

EXAMPLES

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

SEE ALSO

114       podman(1), podman-manifest-add(1), podman-manifest-annotate(1), podman-
115       manifest-create(1),    podman-manifest-inspect(1),     podman-manifest-
116       push(1), podman-manifest-remove(1)
117
118
119
120                                                          podman-manifest(1)()
Impressum