summaryrefslogtreecommitdiff
path: root/docs/podman-exec.1.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/podman-exec.1.md')
-rw-r--r--docs/podman-exec.1.md42
1 files changed, 35 insertions, 7 deletions
diff --git a/docs/podman-exec.1.md b/docs/podman-exec.1.md
index b74713b0b..07d24e295 100644
--- a/docs/podman-exec.1.md
+++ b/docs/podman-exec.1.md
@@ -10,23 +10,23 @@ podman\-exec - Execute a command in a running container
**podman exec** executes a command in a running container.
## OPTIONS
-**--env, -e**
+**--env**, **-e**
You may specify arbitrary environment variables that are available for the
command to be executed.
-**--interactive, -i**
+**--interactive**, **-i**
Not supported. All exec commands are interactive by default.
-**--latest, -l**
+**--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**
+**--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.
@@ -34,17 +34,17 @@ Pass down to the process N additional file descriptors (in addition to 0, 1, 2).
Give the process extended Linux capabilities when running the command in container.
-**--tty, -t**
+**--tty**, **-t**
Allocate a pseudo-TTY.
-**--user, -u**
+**--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**=""
+**--workdir**, **-w**=*path*
Working directory inside the container
@@ -52,6 +52,34 @@ The default working directory for running binaries within a container is the roo
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