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

NAME

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

SYNOPSIS

11       buildah manifest COMMAND [OPTIONS] [ARG...]
12
13

DESCRIPTION

15       The buildah manifest command provides subcommands which can be used to:
16
17
18              * Create a working Docker manifest list or OCI image index.
19              * Add an entry to a manifest list or image index for a specified image.
20              * Add or update information about an entry in a manifest list or image index.
21              * Delete a working container or an image.
22              * Push a manifest list or image index to a registry or other location.
23
24
25

SUBCOMMANDS

27       ┌─────────┬──────────────────────────────┬─────────────────────┐
28Command  Man Page                     Description         
29       ├─────────┼──────────────────────────────┼─────────────────────┤
30       │add      │ buildah-manifest-add(1)      │ Add an image  to  a │
31       │         │                              │ manifest   list  or │
32       │         │                              │ image index.        │
33       ├─────────┼──────────────────────────────┼─────────────────────┤
34       │annotate │ buildah-manifest-annotate(1) │ Add or  update  in‐ │
35       │         │                              │ formation  about an │
36       │         │                              │ image in a manifest │
37       │         │                              │ list  or  image in‐ │
38       │         │                              │ dex.                │
39       ├─────────┼──────────────────────────────┼─────────────────────┤
40       │create   │ buildah-manifest-create(1)   │ Create  a  manifest │
41       │         │                              │ list  or  image in‐ │
42       │         │                              │ dex.                │
43       ├─────────┼──────────────────────────────┼─────────────────────┤
44       │exists   │ buildah-manifest-exists(1)   │ Check if a manifest │
45       │         │                              │ list  exists in lo‐ │
46       │         │                              │ cal storage.        │
47       ├─────────┼──────────────────────────────┼─────────────────────┤
48       │inspect  │ buildah-manifest-inspect(1)  │ Display  the   con‐ │
49       │         │                              │ tents of a manifest │
50       │         │                              │ list or  image  in‐ │
51       │         │                              │ dex.                │
52       ├─────────┼──────────────────────────────┼─────────────────────┤
53       │push     │ buildah-manifest-push(1)     │ Push   a   manifest │
54       │         │                              │ list or image index │
55       │         │                              │ to  a  registry  or │
56       │         │                              │ other location.     │
57       ├─────────┼──────────────────────────────┼─────────────────────┤
58       │remove   │ buildah-manifest-remove(1)   │ Remove   an   image │
59       │         │                              │ from   a   manifest │
60       │         │                              │ list or  image  in‐ │
61       │         │                              │ dex.                │
62       ├─────────┼──────────────────────────────┼─────────────────────┤
63       │rm       │ buildah-manifest-rm(1)       │ Remove     manifest │
64       │         │                              │ list   from   local │
65       │         │                              │ storage.            │
66       └─────────┴──────────────────────────────┴─────────────────────┘
67

EXAMPLES

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

SEE ALSO

119       buildah(1), buildah-manifest-create(1), buildah-manifest-add(1),  buil‐
120       dah-manifest-remove(1), buildah-manifest-annotate(1), buildah-manifest-
121       inspect(1), buildah-manifest-push(1), buildah-manifest-rm(1)
122
123
124
125buildah                         September 2019             buildah-manifest(1)
Impressum