diff options
-rw-r--r-- | cmd/podman/build.go | 23 | ||||
-rw-r--r-- | completions/bash/podman | 13 | ||||
-rw-r--r-- | docs/podman-build.1.md | 21 |
3 files changed, 52 insertions, 5 deletions
diff --git a/cmd/podman/build.go b/cmd/podman/build.go index 0defb5e79..6e32a80e9 100644 --- a/cmd/podman/build.go +++ b/cmd/podman/build.go @@ -11,10 +11,24 @@ import ( var ( buildFlags = []cli.Flag{ + cli.StringFlag{ + Name: "authfile", + Usage: "path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json", + }, cli.StringSliceFlag{ Name: "build-arg", Usage: "`argument=value` to supply to the builder", }, + cli.StringFlag{ + Name: "cert-dir", + Value: "", + Usage: "use certificates at the specified path to access the registry", + }, + cli.StringFlag{ + Name: "creds", + Value: "", + Usage: "use `[username[:password]]` for accessing the registry", + }, cli.StringSliceFlag{ Name: "file, f", Usage: "`pathname or URL` of a Dockerfile", @@ -68,9 +82,18 @@ func buildCmd(c *cli.Context) error { budCmdArgs := []string{"bud"} + if c.IsSet("authfile") { + budCmdArgs = append(budCmdArgs, "--authfile", c.String("authfile")) + } for _, buildArg := range c.StringSlice("build-arg") { budCmdArgs = append(budCmdArgs, "--build-arg", buildArg) } + if c.IsSet("cert-dir") { + budCmdArgs = append(budCmdArgs, "--cert-dir", c.String("cert-dir")) + } + if c.IsSet("creds") { + budCmdArgs = append(budCmdArgs, "--creds", c.String("creds")) + } for _, fileName := range c.StringSlice("file") { budCmdArgs = append(budCmdArgs, "--file", fileName) } diff --git a/completions/bash/podman b/completions/bash/podman index f8086220e..0087c56b9 100644 --- a/completions/bash/podman +++ b/completions/bash/podman @@ -700,15 +700,18 @@ _podman_build() { " local options_with_args=" - --signature-policy + --authfile + --build-arg + --cert-dir + --creds + --file + -f + --format --runtime --runtime-flag + --signature-policy --tag -t - --file - -f - --build-arg - --format " local all_options="$options_with_args $boolean_options" diff --git a/docs/podman-build.1.md b/docs/podman-build.1.md index 4df25603a..61c8d8aaa 100644 --- a/docs/podman-build.1.md +++ b/docs/podman-build.1.md @@ -24,6 +24,11 @@ to do the actual building. ## OPTIONS +**--authfile** *path* + +Path of the authentication file. Default is ${XDG_RUNTIME\_DIR}/containers/auth.json, which is set using `podman login`. +If the authorization state is not found there, $HOME/.docker/config.json is checked, which is set using `docker login`. + **--build-arg** *arg=value* Specifies a build argument and its value, which will be interpolated in @@ -31,6 +36,16 @@ instructions read from the Dockerfiles in the same way that environment variables are, but which will not be added to environment variable list in the resulting image's configuration. +**--cert-dir** *path* + +Use certificates at *path* (*.crt, *.cert, *.key) to connect to the registry + +**--creds** *creds* + +The [username[:password]] to use to authenticate with the registry if required. +If one or both values are not supplied, a command line prompt will appear and the +value can be entered. The password is entered without echo. + **-f, --file** *Dockerfile* Specifies a Dockerfile which contains instructions for building the image, @@ -96,6 +111,12 @@ podman build --tls-verify=true -t imageName -f Dockerfile.simple podman build --tls-verify=false -t imageName . +podman bud --runtime-flag log-format=json . + +podman bud --runtime-flag debug . + +podman bud --authfile /tmp/auths/myauths.json --cert-dir ~/auth --tls-verify=true --creds=username:password -t imageName -f Dockerfile.simple + ## SEE ALSO podman(1), buildah(1) |