Files
podman/docs/source/markdown/podman-exec.1.md.in
Daniel J Walsh 29071ac498 command is not optional to podman exec
Fixes: https://github.com/containers/podman/issues/22849

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-08-21 08:45:50 -04:00

92 lines
2.2 KiB
Markdown

% 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**, **-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
```
## 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>