mirror of
https://github.com/containers/podman.git
synced 2025-05-21 17:16:22 +08:00
Document exit codes for podman exec
Also fix podman run exit codes to show real messages when failures happen. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@ -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
|
||||
|
@ -902,28 +902,25 @@ the exit codes follow the `chroot` standard, see below:
|
||||
**_125_** if the error is with podman **_itself_**
|
||||
|
||||
$ podman run --foo busybox; echo $?
|
||||
# flag provided but not defined: --foo
|
||||
See 'podman run --help'.
|
||||
125
|
||||
Error: unknown flag: --foo
|
||||
125
|
||||
|
||||
**_126_** if the **_contained command_** cannot be invoked
|
||||
|
||||
$ podman run busybox /etc; echo $?
|
||||
# exec: "/etc": permission denied
|
||||
podman: Error response from daemon: Contained command could not be invoked
|
||||
126
|
||||
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 run busybox foo; echo $?
|
||||
# exec: "foo": executable file not found in $PATH
|
||||
podman: Error response from daemon: Contained command not found or does not exist
|
||||
127
|
||||
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 run busybox /bin/sh -c 'exit 3'
|
||||
# 3
|
||||
3
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
|
@ -103,24 +103,21 @@ the exit codes follow the `chroot` standard, see below:
|
||||
**_125_** if the error is with podman **_itself_**
|
||||
|
||||
$ podman run --foo busybox; echo $?
|
||||
# flag provided but not defined: --foo
|
||||
See 'podman run --help'.
|
||||
Error: unknown flag: --foo
|
||||
125
|
||||
|
||||
**_126_** if executing a **_container command_** and the the **_command_** cannot be invoked
|
||||
|
||||
$ podman run busybox /etc; echo $?
|
||||
# exec: "/etc": permission denied
|
||||
podman: Error response from daemon: Contained command could not be invoked
|
||||
Error: container_linux.go:346: starting container process caused "exec: \"/etc\": permission denied": OCI runtime error
|
||||
126
|
||||
|
||||
**_127_** if executing a **_container command_** and the the **_command_** cannot be found
|
||||
$ podman run busybox foo; echo $?
|
||||
# exec: "foo": executable file not found in $PATH
|
||||
podman: Error response from daemon: Contained command not found or does not exist
|
||||
Error: container_linux.go:346: starting container process caused "exec: \"foo\": executable file not found in $PATH": OCI runtime error
|
||||
127
|
||||
|
||||
**_Exit code_** of **_container command_** otherwise
|
||||
**_Exit code_** of **_contained command_** otherwise
|
||||
|
||||
$ podman run busybox /bin/sh -c 'exit 3'
|
||||
# 3
|
||||
|
Reference in New Issue
Block a user