% 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

#### **--cidfile**=*file*

Read the ID of the target container from the specified *file*.

#### **--detach**, **-d**

Start the exec session, but do not attach to it. The command runs in the background, and the exec session is automatically removed when it completes. The **podman exec** command prints the ID of the exec session and exits immediately after it starts.

@@option detach-keys

@@option env

@@option env-file

@@option interactive

@@option latest

@@option preserve-fd

@@option preserve-fds

@@option privileged

@@option tty

@@option user

@@option workdir

## 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** The error is with Podman itself

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

  **126** 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** 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** The _contained command_ exit code

    $ podman exec ctrID /bin/sh -c 'exit 3'; echo $?
    3

## EXAMPLES

Execute command in selected container with a stdin and a tty allocated:
```
$ podman exec -it ctrID ls
```

Execute command with the overridden working directory in selected container with a stdin and a tty allocated:
```
$ podman exec -it -w /tmp myCtr pwd
```

Execute command as the specified user in selected container:
```
$ podman exec --user root ctrID ls
```

Execute command but do not attach to the exec session leaving the command running in the background:
```
$ podman exec -d ctrID find /path/to/search -name yourfile
```

## SEE ALSO
**[podman(1)](podman.1.md)**, **[podman-run(1)](podman-run.1.md)**

## HISTORY
December 2017, Originally compiled by Brent Baude<bbaude@redhat.com>
