podman-exec(1)

NAME

podman-exec - Execute a command in a running container

SYNOPSIS

podman exec [options] container [command [arg ...]]

podman container exec [options] container [command [arg ...]]

DESCRIPTION

podman exec executes a command in a running container.

OPTIONS

--detach-keys=sequence

Override the key sequence for detaching a container. Format is a single character [a-Z] or ctrl-<value> where <value> is one of: a-z, @, ^, [, , or _.

--env, -e

You may specify arbitrary environment variables that are available for the command to be executed.

--interactive, -i=true|false

When set to true, keep stdin open even if not attached. The default is false.

--latest, -l

Instead of providing the container name or ID, use the last created container. If you use methods other than Podman to run containers such as CRI-O, the last started container could be from either of those methods.

The latest option is not supported on the remote client.

--preserve-fds=N

Pass down to the process N additional file descriptors (in addition to 0, 1, 2). The total FDs will be 3+N.

--privileged

Give the process extended Linux capabilities when running the command in container.

--tty, -t

Allocate a pseudo-TTY.

--user, -u

Sets the username or UID used and optionally the groupname or GID for the specified command. The following examples are all valid: --user [user | user:group | uid | uid:gid | user:gid | uid:group ]

--workdir, -w=path

Working directory inside the container

The default working directory for running binaries within a container is the root directory (/). The image developer can set a different default with the WORKDIR instruction, which can be overridden when creating the container.

Exit Status

The exit code from podman exec gives information about why the command within the container failed to run or why it exited. When podman exec exits with a non-zero code, the exit codes follow the chroot standard, see below:

125 if the error is with Podman itself

    $ podman exec --foo ctrID /bin/sh; echo $?
    Error: unknown flag: --foo
    125

126 if the contained command cannot be invoked

    $ podman exec ctrID /etc; echo $?
    Error: container_linux.go:346: starting container process caused "exec: \"/etc\": permission denied": OCI runtime error
    126

127 if the contained command cannot be found

    $ podman exec ctrID foo; echo $?
    Error: container_linux.go:346: starting container process caused "exec: \"foo\": executable file not found in $PATH": OCI runtime error
    127

Exit code of contained command otherwise

    $ podman exec ctrID /bin/sh -c 'exit 3'
    # 3

EXAMPLES

$ podman exec -it ctrID ls $ podman exec -it -w /tmp myCtr pwd $ podman exec --user root ctrID ls

SEE ALSO

podman(1), podman-run(1)

HISTORY

December 2017, Originally compiled by Brent Baudebbaude@redhat.com ⟨mailto:bbaude@redhat.com⟩