1
0
mirror of https://github.com/containers/buildah.git synced 2025-04-18 07:04:05 +03:00

Rename bud to build, while keeping an alias for to bud.

Signed-off-by: Kirill Shirinkin <kirill@hey.com>
This commit is contained in:
Kirill Shirinkin 2021-08-24 20:03:02 +02:00
parent afe00c31ff
commit 2d822034f8
21 changed files with 427 additions and 423 deletions

View File

@ -104,7 +104,7 @@ $ sudo ./lighttpd.sh
| Command | Description |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| [buildah-add(1)](/docs/buildah-add.md) | Add the contents of a file, URL, or a directory to the container. |
| [buildah-bud(1)](/docs/buildah-bud.md) | Build an image using instructions from Dockerfiles. |
| [buildah-build(1)](/docs/buildah-build.md) | Build an image using instructions from Containerfiles or Dockerfiles. |
| [buildah-commit(1)](/docs/buildah-commit.md) | Create an image from a working container. |
| [buildah-config(1)](/docs/buildah-config.md) | Update image configuration settings. |
| [buildah-containers(1)](/docs/buildah-containers.md) | List the working containers and their base images. |

View File

@ -245,7 +245,7 @@ func GetBuildInfo(b *Builder) BuilderInfo {
}
}
// CommonBuildOptions are resources that can be defined by flags for both buildah from and build-using-dockerfile
// CommonBuildOptions are resources that can be defined by flags for both buildah from and build
type CommonBuildOptions = define.CommonBuildOptions
// BuilderOptions are used to initialize a new Builder.

View File

@ -20,7 +20,7 @@ import (
"github.com/spf13/cobra"
)
type budOptions struct {
type buildOptions struct {
*buildahcli.LayerResults
*buildahcli.BudResults
*buildahcli.UserNSResults
@ -29,7 +29,7 @@ type budOptions struct {
}
func init() {
budDescription := `
buildDescription := `
Builds an OCI image using instructions in one or more Containerfiles.
If no arguments are specified, Buildah will use the current working directory
@ -37,53 +37,53 @@ func init() {
Containerfile nor Dockerfile is present.`
layerFlagsResults := buildahcli.LayerResults{}
budFlagResults := buildahcli.BudResults{}
buildFlagResults := buildahcli.BudResults{}
fromAndBudResults := buildahcli.FromAndBudResults{}
userNSResults := buildahcli.UserNSResults{}
namespaceResults := buildahcli.NameSpaceResults{}
budCommand := &cobra.Command{
Use: "bud",
Aliases: []string{"build-using-dockerfile"},
buildCommand := &cobra.Command{
Use: "build",
Aliases: []string{"build-using-dockerfile", "bud"},
Short: "Build an image using instructions in a Containerfile",
Long: budDescription,
Long: buildDescription,
RunE: func(cmd *cobra.Command, args []string) error {
br := budOptions{
br := buildOptions{
&layerFlagsResults,
&budFlagResults,
&buildFlagResults,
&userNSResults,
&fromAndBudResults,
&namespaceResults,
}
return budCmd(cmd, args, br)
return buildCmd(cmd, args, br)
},
Example: `buildah bud
Example: `buildah build
buildah bud -f Containerfile.simple .
buildah bud --volume /home/test:/myvol:ro,Z -t imageName .
buildah bud -f Containerfile.simple -f Containerfile.notsosimple .`,
}
budCommand.SetUsageTemplate(UsageTemplate())
buildCommand.SetUsageTemplate(UsageTemplate())
flags := budCommand.Flags()
flags := buildCommand.Flags()
flags.SetInterspersed(false)
// BUD is a all common flags
budFlags := buildahcli.GetBudFlags(&budFlagResults)
budFlags.StringVar(&budFlagResults.Runtime, "runtime", util.Runtime(), "`path` to an alternate runtime. Use BUILDAH_RUNTIME environment variable to override.")
// build is a all common flags
buildFlags := buildahcli.GetBudFlags(&buildFlagResults)
buildFlags.StringVar(&buildFlagResults.Runtime, "runtime", util.Runtime(), "`path` to an alternate runtime. Use BUILDAH_RUNTIME environment variable to override.")
layerFlags := buildahcli.GetLayerFlags(&layerFlagsResults)
fromAndBudFlags, err := buildahcli.GetFromAndBudFlags(&fromAndBudResults, &userNSResults, &namespaceResults)
if err != nil {
logrus.Errorf("failed to setup From and Bud flags: %v", err)
logrus.Errorf("failed to setup From and Build flags: %v", err)
os.Exit(1)
}
flags.AddFlagSet(&budFlags)
flags.AddFlagSet(&buildFlags)
flags.AddFlagSet(&layerFlags)
flags.AddFlagSet(&fromAndBudFlags)
flags.SetNormalizeFunc(buildahcli.AliasFlags)
rootCmd.AddCommand(budCommand)
rootCmd.AddCommand(buildCommand)
}
func getContainerfiles(files []string) []string {
@ -98,7 +98,7 @@ func getContainerfiles(files []string) []string {
return containerfiles
}
func budCmd(c *cobra.Command, inputArgs []string, iopts budOptions) error {
func buildCmd(c *cobra.Command, inputArgs []string, iopts buildOptions) error {
output := ""
tags := []string{}
if c.Flag("tag").Changed {

View File

@ -1184,7 +1184,7 @@ esac
local commands=(
add
bud
build-using-dockerfile
build
commit
config
containers

View File

@ -10,7 +10,7 @@ import (
"golang.org/x/sync/semaphore"
)
// CommonBuildOptions are resources that can be defined by flags for both buildah from and build-using-dockerfile
// CommonBuildOptions are resources that can be defined by flags for both buildah from and build
type CommonBuildOptions struct {
// AddHost is the list of hostnames to add to the build container's /etc/hosts.
AddHost []string

View File

@ -6,8 +6,8 @@
* Integration into Kubernetes and potentially other tools. The biggest requirement for this is to be able run Buildah within a standard linux container without SYS_ADMIN privileges. This would allow Buildah to run non-privileged containers inside of Kubernetes, so you could distribute your container workloads.
* Integration with User Namespace, Podman has this already and the goal is to get `buildah bud` and `buildah run` to be able to run its containers in a usernamespace to give the builder better security isolation from the host.
* Integration with User Namespace, Podman has this already and the goal is to get `buildah build` and `buildah run` to be able to run its containers in a usernamespace to give the builder better security isolation from the host.
* Buildah `buildah bud` command's goal is to have feature parity with other OCI image and container build systems.
* Buildah `buildah build` command's goal is to have feature parity with other OCI image and container build systems.
* Addressing issues from the community as reported in the [Issues](https://github.com/containers/buildah/issues) page.

View File

@ -12,6 +12,7 @@ docs: $(patsubst %.md,%.1,$(wildcard *.md))
install:
install -d ${DESTDIR}/${MANDIR}/man1
install -m 0644 buildah*.1 ${DESTDIR}/${MANDIR}/man1
install -m 0644 links/buildah*.1 ${DESTDIR}/${MANDIR}/man1
.PHONY: clean
clean:

View File

@ -1,15 +1,17 @@
# buildah-bud "1" "April 2017" "buildah"
# buildah-build "1" "April 2017" "buildah"
## NAME
buildah\-bud - Build an image using instructions from Containerfiles
buildah\-build - Build an image using instructions from Containerfiles
## SYNOPSIS
**buildah build-using-dockerfile** [*options*] [*context*]
**buildah build** [*options*] [*context*]
**buildah bud** [*options*] [*context*]
**bud** is an alias for **build-using-dockerfile**.
**buildah build-using-dockerfile** [*options*] [*context*]
**build** has aliases **bud** and **build-using-dockerfile**.
## DESCRIPTION
Builds an image using instructions from one or more Containerfiles or Dockerfiles and a specified
@ -479,7 +481,7 @@ Adds global flags for the container rutime. To list the supported flags, please
consult the manpages of the selected container runtime.
Note: Do not pass the leading `--` to the flag. To pass the runc flag `--log-format json`
to buildah bud, the option given would be `--runtime-flag log-format=json`.
to buildah build, the option given would be `--runtime-flag log-format=json`.
**--secret**=**id=id,src=path**
@ -749,59 +751,59 @@ Please refer to the [Using Build Time Variables](#using-build-time-variables) se
### Build an image using local Containerfiles
buildah bud .
buildah build .
buildah bud -f Containerfile .
buildah build -f Containerfile .
cat ~/Dockerfile | buildah bud -f - .
cat ~/Dockerfile | buildah build -f - .
buildah bud -f Dockerfile.simple -f Dockerfile.notsosimple .
buildah build -f Dockerfile.simple -f Dockerfile.notsosimple .
buildah bud --timestamp=$(date '+%s') -t imageName .
buildah build --timestamp=$(date '+%s') -t imageName .
buildah bud -t imageName .
buildah build -t imageName .
buildah bud --tls-verify=true -t imageName -f Dockerfile.simple .
buildah build --tls-verify=true -t imageName -f Dockerfile.simple .
buildah bud --tls-verify=false -t imageName .
buildah build --tls-verify=false -t imageName .
buildah bud --runtime-flag log-format=json .
buildah build --runtime-flag log-format=json .
buildah bud -f Containerfile --runtime-flag debug .
buildah build -f Containerfile --runtime-flag debug .
buildah bud --authfile /tmp/auths/myauths.json --cert-dir ~/auth --tls-verify=true --creds=username:password -t imageName -f Dockerfile.simple .
buildah build --authfile /tmp/auths/myauths.json --cert-dir ~/auth --tls-verify=true --creds=username:password -t imageName -f Dockerfile.simple .
buildah bud --memory 40m --cpu-period 10000 --cpu-quota 50000 --ulimit nofile=1024:1028 -t imageName .
buildah build --memory 40m --cpu-period 10000 --cpu-quota 50000 --ulimit nofile=1024:1028 -t imageName .
buildah bud --security-opt label=level:s0:c100,c200 --cgroup-parent /path/to/cgroup/parent -t imageName .
buildah build --security-opt label=level:s0:c100,c200 --cgroup-parent /path/to/cgroup/parent -t imageName .
buildah bud --arch=arm --variant v7 -t imageName .
buildah build --arch=arm --variant v7 -t imageName .
buildah bud --volume /home/test:/myvol:ro,Z -t imageName .
buildah build --volume /home/test:/myvol:ro,Z -t imageName .
buildah bud -v /home/test:/myvol:z,U -t imageName .
buildah build -v /home/test:/myvol:z,U -t imageName .
buildah bud -v /var/lib/dnf:/var/lib/dnf:O -t imageName .
buildah build -v /var/lib/dnf:/var/lib/dnf:O -t imageName .
buildah bud --layers -t imageName .
buildah build --layers -t imageName .
buildah bud --no-cache -t imageName .
buildah build --no-cache -t imageName .
buildah bud -f Containerfile --layers --force-rm -t imageName .
buildah build -f Containerfile --layers --force-rm -t imageName .
buildah bud --no-cache --rm=false -t imageName .
buildah build --no-cache --rm=false -t imageName .
buildah bud --dns-search=example.com --dns=223.5.5.5 --dns-option=use-vc .
buildah build --dns-search=example.com --dns=223.5.5.5 --dns-option=use-vc .
buildah bud -f Containerfile.in -t imageName .
buildah build -f Containerfile.in -t imageName .
### Building an multi-architecture image using the --manifest option (requires emulation software)
buildah bud --arch arm --manifest myimage /tmp/mysrc
buildah build --arch arm --manifest myimage /tmp/mysrc
buildah bud --arch amd64 --manifest myimage /tmp/mysrc
buildah build --arch amd64 --manifest myimage /tmp/mysrc
buildah bud --arch s390x --manifest myimage /tmp/mysrc
buildah build --arch s390x --manifest myimage /tmp/mysrc
buildah bud --platform linux/s390x,linux/ppc64le,linux/amd64 --manifest myimage /tmp/mysrc
@ -811,21 +813,21 @@ buildah bud --platform linux/arm64 --platform linux/amd64 --manifest myimage /tm
This will clone the specified GitHub repository from the URL and use it as context. The Containerfile or Dockerfile at the root of the repository is used as the context of the build. This only works if the GitHub repository is a dedicated repository.
buildah bud github.com/scollier/purpletest
buildah build github.com/scollier/purpletest
Note: You can set an arbitrary Git repository via the git:// scheme.
### Building an image using a URL to a tarball'ed context
Buildah will fetch the tarball archive, decompress it and use its contents as the build context. The Containerfile or Dockerfile at the root of the archive and the rest of the archive will get used as the context of the build. If you pass an -f PATH/Containerfile option as well, the system will look for that file inside the contents of the tarball.
buildah bud -f dev/Containerfile https://10.10.10.1/docker/context.tar.gz
buildah build -f dev/Containerfile https://10.10.10.1/docker/context.tar.gz
Note: supported compression formats are 'xz', 'bzip2', 'gzip' and 'identity' (no compression).
### Using Build Time Variables
#### Replace the value set for the HTTP_PROXY environment variable within the Containerfile.
buildah bud --build-arg=HTTP_PROXY="http://127.0.0.1:8321"
buildah build --build-arg=HTTP_PROXY="http://127.0.0.1:8321"
## ENVIRONMENT
@ -849,7 +851,7 @@ are stored while pulling and pushing images. Defaults to '/var/tmp'.
### `.containerignore`/`.dockerignore`
If the .containerignore/.dockerignore file exists in the context directory,
`buildah bud` reads its contents. If both exist, then .containerignore is used.
`buildah build` reads its contents. If both exist, then .containerignore is used.
Use the `--ignorefile` flag to override the ignore file path location. Buildah uses the content to exclude files and directories from the context directory, when executing COPY and ADD directives in the Containerfile/Dockerfile
Users can specify a series of Unix shell globals in a

View File

@ -139,7 +139,7 @@ Buildah can set up environment variables from the env entry in the [engine] tabl
| Command | Description |
| --------------------- | --------------------------------------------------- |
| buildah-add(1) | Add the contents of a file, URL, or a directory to the container. |
| buildah-bud(1) | Build an image using instructions from Dockerfiles. |
| buildah-build(1) | Build an image using instructions from Dockerfiles. |
| buildah-commit(1) | Create an image from a working container. |
| buildah-config(1) | Update image configuration settings. |
| buildah-containers(1) | List the working containers and their base images. |

View File

@ -1,5 +1,5 @@
When [buildah](https://github.com/containers/buildah)'s `buildah run`
command is used, or when `buildah build-using-dockerfile` needs to handle a
command is used, or when `buildah build` needs to handle a
`RUN` instruction, the processes which `buildah` starts are run in their own
network namespace unless the `--network=host` option is used.

View File

@ -85,7 +85,7 @@ familiar container cli commands.
Some of the commands between the projects overlap:
* build
The `podman build` and `buildah bud` commands have significant overlap as Podman borrows large pieces of the `podman build` implementation from Buildah.
The `podman build` and `buildah build` commands have significant overlap as Podman borrows large pieces of the `podman build` implementation from Buildah.
* run
The `buildah run` and `podman run` commands are similar but different. As explained above Podman and Buildah have a different concept of a container. An easy way to think of it is the `buildah run` command emulates the RUN command in a Dockerfile while the `podman run` command emulates the `docker run` command in functionality. As Buildah and Podman have somewhat different concepts of containers, you can not see Podman containers from within Buildah or vice versa.

1
docs/links/buildah-bud.1 Normal file
View File

@ -0,0 +1 @@
.so man1/buildah-build.1

View File

@ -234,9 +234,9 @@ OCI container images built with `buildah` are completely standard as expected. S
# dnf -y remove docker
## Using Dockerfiles with Buildah
## Using Containerfiles/Dockerfiles with Buildah
What if you have been using Docker for a while and have some existing Dockerfiles. Not a problem. Buildah can build images using a Dockerfile. The `build-using-dockerfile`, or `bud` for short, takes a Dockerfile as input and produces an OCI image.
What if you have been using Docker for a while and have some existing Dockerfiles. Not a problem. Buildah can build images using a Dockerfile. The `build` command takes a Dockerfile as input and produces an OCI image.
Find one of your Dockerfiles or create a file called Dockerfile. Use the following example or some variation if you'd like:
@ -254,13 +254,13 @@ Find one of your Dockerfiles or create a file called Dockerfile. Use the followi
# Run the httpd
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
Now run `buildah bud` with the name of the Dockerfile and the name to be given to the created image (e.g. fedora-httpd):
Now run `buildah build` with the name of the Dockerfile and the name to be given to the created image (e.g. fedora-httpd):
# buildah bud -f Dockerfile -t fedora-httpd .
# buildah build -f Dockerfile -t fedora-httpd .
or, because `buildah bud` defaults to Dockerfile (note the period at the end of the example):
or, because `buildah build` defaults to Dockerfile (note the period at the end of the example):
# buildah bud -t fedora-httpd .
# buildah build -t fedora-httpd .
You will see all the steps of the Dockerfile executing. Afterwards `buildah images` will show you the new image. Now we need to create the container using `buildah from` and test it with `buildah run`:

View File

@ -57,7 +57,7 @@ EOF
Now to create the first container and verify that ONBUILD has been set:
```
# buildah bud --format=docker -f Dockerfile -t onbuild-image .
# buildah build --format=docker -f Dockerfile -t onbuild-image .
# buildah inspect --format '{{.Docker.Config.OnBuild}}' onbuild-image
[RUN touch /bar]
```
@ -65,7 +65,7 @@ Now to create the first container and verify that ONBUILD has been set:
The second container is now created and the `/bar` file will be created within it:
```
# buildah bud --format=docker -f Dockerfile-2 -t result-image .
# buildah build --format=docker -f Dockerfile-2 -t result-image .
STEP 1: FROM onbuild-image
STEP 2: RUN touch /bar # Note /bar created here based on the ONBUILD in Dockerfile
STEP 3: RUN touch /baz
@ -94,7 +94,7 @@ First a Fedora container will be created with `buildah from`, then the `/foo` fi
The onbuild-image has been created, so now create a container from it using the same commands as the first example using the second Dockerfile:
```
# buildah bud --format=docker -f Dockerfile-2 -t result-image .
# buildah build --format=docker -f Dockerfile-2 -t result-image .
STEP 1: FROM onbuild-image
STEP 2: RUN touch /bar # Note /bar created here based on the ONBUILD in Dockerfile
STEP 3: RUN touch /baz

View File

@ -284,7 +284,7 @@ sh-5.0$ mkdir output
And finally build the image, testing that everything works as expected:
````console
sh-5.0$ buildah -v /home/build/output:/output:rw -v /home/build/test-script.sh:/test-script.sh:ro bud -t myimage -f Containerfile.test
sh-5.0$ buildah -v /home/build/output:/output:rw -v /home/build/test-script.sh:/test-script.sh:ro build -t myimage -f Containerfile.test
STEP 1: FROM fedora:33
Getting image source signatures
Copying blob 453ed60def9c done

View File

@ -20,7 +20,7 @@ Learn how Buildah can use the ONBUILD instruction in either a Dockerfile or via
Learn how to include Buildah as a library in your build tool.
**[Rootless OpenShift container](05-openshift-rootless-bud.md)**
**[Rootless OpenShift container](05-openshift-rootless-build.md)**
Learn how to build an image from a rootless OpenShift container.

View File

@ -157,7 +157,7 @@ On other Linux distributions Buildah requires a kernel version that supports the
### runc Requirement
Buildah uses `runc` to run commands when `buildah run` is used, or when `buildah build-using-dockerfile`
Buildah uses `runc` to run commands when `buildah run` is used, or when `buildah build`
encounters a `RUN` instruction, so you'll also need to build and install a compatible version of
[runc](https://github.com/opencontainers/runc) for Buildah to call for those cases. If Buildah is installed
via a package manager such as yum, dnf or apt-get, runc will be installed as part of that process.
@ -396,7 +396,7 @@ registries = []
`/usr/share/containers/mounts.conf` and optionally `/etc/containers/mounts.conf`
The mounts.conf files specify volume mount files or directories that are automatically mounted inside containers when executing the `buildah run` or `buildah build-using-dockerfile` commands. Container processes can then use this content. The volume mount content does not get committed to the final image. This file is usually provided by the containers-common package.
The mounts.conf files specify volume mount files or directories that are automatically mounted inside containers when executing the `buildah run` or `buildah build` commands. Container processes can then use this content. The volume mount content does not get committed to the final image. This file is usually provided by the containers-common package.
Usually these directories are used for passing secrets or credentials required by the package software to access remote package repositories.

View File

@ -46,7 +46,7 @@ type NameSpaceResults struct {
UTS string
}
// BudResults represents the results for Bud flags
// BudResults represents the results for Build flags
type BudResults struct {
Annotation []string
Authfile string
@ -89,7 +89,7 @@ type BudResults struct {
}
// FromAndBugResults represents the results for common flags
// in bud and from
// in build and from
type FromAndBudResults struct {
AddHost []string
BlobCache string
@ -172,7 +172,7 @@ func GetLayerFlags(flags *LayerResults) pflag.FlagSet {
// Note: GetLayerFlagsCompletion is not needed since GetLayerFlags only contains bool flags
// GetBudFlags returns common bud flags
// GetBudFlags returns common build flags
func GetBudFlags(flags *BudResults) pflag.FlagSet {
fs := pflag.FlagSet{}
fs.String("arch", runtime.GOARCH, "set the ARCH of the image to the provided value instead of the architecture of the host")
@ -213,7 +213,7 @@ func GetBudFlags(flags *BudResults) pflag.FlagSet {
fs.BoolVar(&flags.PullNever, "pull-never", false, "do not pull the image, use the image present in store if available")
fs.BoolVarP(&flags.Quiet, "quiet", "q", false, "refrain from announcing build instructions and image read/write progress")
fs.BoolVar(&flags.Rm, "rm", true, "Remove intermediate containers after a successful build")
// "runtime" definition moved to avoid name collision in podman build. Defined in cmd/buildah/bud.go.
// "runtime" definition moved to avoid name collision in podman build. Defined in cmd/buildah/build.go.
fs.StringSliceVar(&flags.RuntimeFlags, "runtime-flag", []string{}, "add global flags for the container runtime")
fs.StringArrayVar(&flags.Secrets, "secret", []string{}, "secret file to expose to the build")
fs.StringVar(&flags.SignBy, "sign-by", "", "sign the image using a GPG key with the specified `FINGERPRINT`")
@ -232,7 +232,7 @@ func GetBudFlags(flags *BudResults) pflag.FlagSet {
return fs
}
// GetBudFlagsCompletions returns the FlagCompletions for the common bud flags
// GetBudFlagsCompletions returns the FlagCompletions for the common build flags
func GetBudFlagsCompletions() commonComp.FlagCompletions {
flagCompletion := commonComp.FlagCompletions{}
flagCompletion["arch"] = commonComp.AutocompleteNone
@ -264,7 +264,7 @@ func GetBudFlagsCompletions() commonComp.FlagCompletions {
return flagCompletion
}
// GetFromAndBudFlags returns from and bud flags
// GetFromAndBudFlags returns from and build flags
func GetFromAndBudFlags(flags *FromAndBudResults, usernsResults *UserNSResults, namespaceResults *NameSpaceResults) (pflag.FlagSet, error) {
fs := pflag.FlagSet{}
defaultContainerConfig, err := config.Default()
@ -312,7 +312,7 @@ func GetFromAndBudFlags(flags *FromAndBudResults, usernsResults *UserNSResults,
return fs, nil
}
// GetFromAndBudFlagsCompletions returns the FlagCompletions for the from and bud flags
// GetFromAndBudFlagsCompletions returns the FlagCompletions for the from and build flags
func GetFromAndBudFlagsCompletions() commonComp.FlagCompletions {
flagCompletion := commonComp.FlagCompletions{}
flagCompletion["arch"] = commonComp.AutocompleteNone

View File

@ -48,7 +48,7 @@ func TestBudFlagsCompletion(t *testing.T) {
func TestFromAndBudFlagsCompletions(t *testing.T) {
flags, err := GetFromAndBudFlags(&FromAndBudResults{}, &UserNSResults{}, &NameSpaceResults{})
if err != nil {
t.Error("Could load the from and bud flags.")
t.Error("Could load the from and build flags.")
}
flagCompletions := GetFromAndBudFlagsCompletions()
testFlagCompletion(t, flags, flagCompletions)

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
---
### 1) No such image
When doing a `buildah pull` or `buildah bud` command and a "common" image can not be pulled,
When doing a `buildah pull` or `buildah build` command and a "common" image can not be pulled,
it is likely that the `/etc/containers/registries.conf` file is either not installed or possibly
misconfigured. This issue might also indicate that other required files as listed in the
[Configuration Files](https://github.com/containers/buildah/blob/main/install.md#configuration-files)
@ -15,7 +15,7 @@ section of the Installation Instructions are also not installed.
#### Symptom
```console
$ sudo buildah bud -f Dockerfile .
$ sudo buildah build -f Dockerfile .
STEP 1: FROM alpine
error creating build container: 2 errors occurred:
@ -35,7 +35,7 @@ error building: error creating build container: no such image "alpine" in regist
---
### 2) http: server gave HTTP response to HTTPS client
When doing a Buildah command such as `bud`, `commit`, `from`, or `push` to a registry,
When doing a Buildah command such as `build`, `commit`, `from`, or `push` to a registry,
tls verification is turned on by default. If authentication is not used with
those commands, this error can occur.
@ -50,7 +50,7 @@ Get https://localhost:5000/v2/: http: server gave HTTP response to HTTPS client
By default tls verification is turned on when communicating to registries from
Buildah. If the registry does not require authentication the Buildah commands
such as `bud`, `commit`, `from` and `pull` will fail unless tls verification is turned
such as `build`, `commit`, `from` and `pull` will fail unless tls verification is turned
off using the `--tls-verify` option. **NOTE:** It is not at all recommended to
communicate with a registry and not use tls verification.
@ -110,13 +110,13 @@ lstat /home/myusername/~: no such file or directory
---
### 5) Rootless buildah bud fails EPERM on NFS:
### 5) Rootless buildah build fails EPERM on NFS:
NFS enforces file creation on different UIDs on the server side and does not understand user namespace, which rootless Podman requires. When a container root process like YUM attempts to create a file owned by a different UID, NFS Server denies the creation. NFS is also a problem for the file locks when the storage is on it. Other distributed file systems (for example: Lustre, Spectrum Scale, the General Parallel File System (GPFS)) are also not supported when running in rootless mode as these file systems do not understand user namespace.
#### Symptom
```console
$ buildah bud .
$ buildah build .
ERRO[0014] Error while applying layer: ApplyLayer exit status 1 stdout: stderr: open /root/.bash_logout: permission denied
error creating build container: Error committing the finished image: error adding layer with blob "sha256:a02a4930cb5d36f3290eb84f4bfa30668ef2e9fe3a1fb73ec015fc58b9958b17": ApplyLayer exit status 1 stdout: stderr: open /root/.bash_logout: permission denied
```
@ -126,14 +126,14 @@ Choose one of the following:
* Setup containers/storage in a different directory, not on an NFS share.
* Otherwise just run buildah as root, via `sudo buildah`
---
### 6) Rootless buildah bud fails when using OverlayFS:
### 6) Rootless buildah build fails when using OverlayFS:
The Overlay file system (OverlayFS) requires the ability to call the `mknod` command when creating whiteout files
when extracting an image. However, a rootless user does not have the privileges to use `mknod` in this capacity.
#### Symptom
```console
buildah bud --storage-driver overlay .
buildah build --storage-driver overlay .
STEP 1: FROM docker.io/ubuntu:xenial
Getting image source signatures
Copying blob edf72af6d627 done
@ -144,7 +144,7 @@ Copying config 5e13f8dd4c done
Writing manifest to image destination
Storing signatures
Error: error creating build container: Error committing the finished image: error adding layer with blob "sha256:8d3eac894db4dc4154377ad28643dfe6625ff0e54bcfa63e0d04921f1a8ef7f8": Error processing tar file(exit status 1): operation not permitted
$ buildah bud .
$ buildah build .
ERRO[0014] Error while applying layer: ApplyLayer exit status 1 stdout: stderr: open /root/.bash_logout: permission denied
error creating build container: Error committing the finished image: error adding layer with blob "sha256:a02a4930cb5d36f3290eb84f4bfa30668ef2e9fe3a1fb73ec015fc58b9958b17": ApplyLayer exit status 1 stdout: stderr: open /root/.bash_logout: permission denied
```